C语言求第n个斐波那契数(不考虑溢出)

时间:2022-12-24 18:55:57

   ​​//求第n个斐波那契数(不考虑溢出)

   //斐波那契数列:前两项数字之和等于第三个数字  例如:1,1,2,3,5,8,13,21,34,55.....

/*

  //用递归方法计算第n个斐波那契数不明智 n太大了CPU就要炸了

int count = 0;

int Fib(int n)

{

   if(n==3)

   {

       count++; //测试第三个斐波那契数的计算次数

   }

   if(n<=2)

       return 1;


   else

       return Fib(n-1)+Fib(n-2);

}

*/

/*

//使用迭代=循环的方式

int Fib(int n)

{

   int a = 1;

   int b = 1;

   int c = 1;


   while(n>2)

   {

       c = a+b;

       a = b;

       b = c;

       n--;

   }

   return c;

}

int main()

{

 int n = 0;

 scanf("%d",&n);

 int ret = 0;

 ret = Fib(n);

 printf("%d\n",ret);

 //printf("%d",count);//第三个斐波那契数的计算次数

   return 0;

}