//fibonacci数列:1 1 2 3 5 8 13 21 34 55...
#include
double fib_val[100]={0};
double fibonacci_1(int n)//递归,计算时间长,n最好不超过30
{
if(n<2)
{
return 1.0;
}
return fibonacci_1(n-1)+fibonacci_1(n-2);
}
void fibonacci_2(int n)//非递归
{
int i;
fib_val[0]=1.0;
fib_val[1]=1.0;
for(i=2;i
for(i=0;i
}
void main(void)
{
int i,n,k;
printf("\n请输入一个2~100之间的整数:\n");
scanf("%d",&n);
printf("\n请选择 1.递归 2.非递归:\n");
scanf("%d",&k);
if(k==1)
for(i=0;i
else fibonacci_2(n);
}