Ejemplo n.º 1
0
int
factorial_tail(int n, int num1, int num2)
{
  if (n < 2) {
    return num1;
  } else {
    return factorial_tail(n-1, num2, num1 + num2);
  }
}
Ejemplo n.º 2
0
int main()
{
	uint32_t n; 
	printf("请输入N:\n");
	
	while(EOF != scanf("%d",&n))
	{
		printf("Fibnacci数列的第%d项为:%d\n",n,factorial_tail(n, 0, 1));
	}
}
Ejemplo n.º 3
0
int
main(void)
{
  int n = 20;
  int i;
  for (i = 0; i < n; i++) {
    printf("%2d: %d\n", i, factorial_tail(i, 1, 1));
  }
  return 0;
}
Ejemplo n.º 4
0
/**		求斐波那契数列的第n项   
 *     
 *		采用尾递归求解。    
 */ 
int factorial_tail(int n,int acc1,int acc2)
{
    if (n == 0)
    {
        return acc1;
    }
    else
    {
        return factorial_tail(n-1,acc2,acc1+acc2);
    }
}
Ejemplo n.º 5
0
int main()
{

  int n=10;

  int n_fact=factorial(n);
  printf("%d ",n_fact);

  n_fact=factorial_tenary(n);
  printf("%d ",n_fact);


  n_fact=factorial_tail(n);
  printf("%d ",n_fact);

  printf("\n");

}
Ejemplo n.º 6
0
double factorial_tail(double n,  double acc) {
  if (n == 0) {
     return acc;
  }
  return ( factorial_tail( n - 1,   n * acc) );
}
Ejemplo n.º 7
0
int main(void) {
  
  printf("\n %.0f ",  factorial_tail(5,1) );

  return 0;
}