C语言求斐波那契数列
注释
//递归求斐波那契数列数列
//双重递归,很占用计算机资源
//测试数据为 40 时可以明显感到就算时稍有迟钝,每增加一,时间延长更明显
//递归求斐波那契数列数列
//双重递归,很占用计算机资源
//测试数据为 40 时可以明显感到就算时稍有迟钝,每增加一,时间延长更明显
#include <stdio.h>
int fun(int n);
int main()
{
int num;
printf("INPUT NUMBER:\n");
while(scanf("%d",&num)==1)
{
fun(num);
printf("Here are the results:\n%d\n",fun(num));
printf("\nINPUT NUMBER:\n");
}
return 0;
}
int fun(int n)
{
int sum;
sum = n;
if(n>2)
sum= fun(n-2) + fun(n-1);
else if(n==2)
sum=1;
else if(n==1)
sum=1;
return sum;
}
############################################
新的方法
#include <stdio.h>
int Fbi(int i)
{
if(i < 2)
return i==0? 0 : 1;
return Fbi(i-1) + Fbi(i-2);
}
int main()
{
int i;
for(i=1;i<40;++i)
printf("%d\n",Fbi(i));
return 0;
}