/*求第n个斐波那契数 : 1 1 2 3 5 8 13 21 */
int Fabonaci(int n)//递归算法:缺点:算第50项时,特别耗时
{
if (n1 || n2)
{
return 1;
}
return Fabonaci(n - 1) + Fabonaci(n - 2);
}
int Fabonaci1(int n)//循环函数计算斐波那契数
{
int f1 = 1;
int f2 = 1;
int f3 = 0;
int i = 0;
for ( i = 3; i < n; i++)
{
f3 = f1 + f2;//赋值新的f1
f1 = f2;//赋值新的f2
f2 = f3;
}
return f3;
}
int main()
{
printf("%d\n", Fabonaci(6));//调用递归方法求Fabonaci
printf("%d\n", Fabonaci1(40));//调用循环方法求Fabonaci
}
求第n个斐波那契数
最新推荐文章于 2021-02-19 12:12:13 发布