C语言Fibonacci函数的问题

来源:百度知道 编辑:UC知道 时间:2024/06/15 03:38:53
题目如下:
编写并测试一个函数Fibonacci(),在该函数中使用循环代替递归完成斐波那契数列的计算

上面这个回答还是用递归的方法.循环版如下:

#include <stdio.h>
int Fib(int n)
{
int f0=0,f1=1,f2,i;
if(n==0)return 0;
if(n==1)return 1;
for(i=2;i<=n;i++)
{f2=f0+f1;
f0=f1;
f1=f2;
}
return f2;
}
void main()
{
int x;
printf("输入数字");
scanf("%d",&x);
printf("%d\n",Fib(x));
}

#include <stdio.h>
int hanshu(int n)
{
if(n>0 && n<=2)
return 1;
else
return (hanshu(n-1)+hanshu(n-2));
}
void main()
{
int x;
printf("输入数字");
scanf("%d",&x);
printf("%d\n",hanshu(x));
}