斐波那契数列指这个数列从第3项开始,每一项都等于前两项之和。
问题:已知一对兔子每一个月可以生一对小兔子,而一对兔子出生后.第三个月开始生小兔子假如一年内没有发生死亡,则一对兔子开始,第N个月后会有多少对?
这个兔子问题就可以用斐波那契数列来解觉。
首先呢,我们用迭代的方式。
#include<stdio.h>
int main()
{
int i;
int a[40];
a[0]=0;
a[1]=1;
printf("%d %d\t",a[0],a[1]);
for(i=2;i<40;i++)
{
a[i]=a[i-1]+a[i-2];
printf("%d\t",a[i]);
}
return 0;
}
还可以运用递归的方式来实现:
int function(int i)
{
if(i<2)
return i==0 ? 0 :1 ;
return function(i-1) + function(i-2);
}
int main()
{
int i;
for(i=5;i>=0;i--)
printf("%d\t",function(i));
return 0;
}