Fibonacci数列算法:
Fibonacci数列有如下特点:第1,2两个数的值为1,从第3个数开始,该数是其前面两个数之和。即:
F1=1 (n=1)
F2=1 (n=2)
F3=F(n-1)+F(n-2) (n>=3)
这是一个有趣的数学问题:有一对兔子,从出生后第三个月起每个月都生一对兔子。小兔子长到第三个月后每个月又生一对兔子。假设所有兔子都不死,问每个月兔子总数是多少?
思想:在开始是,f1表示第一个月的兔子数,f2表示第二个月的兔子数,f3表示第三个月的兔子数。f3=f1+f2.然后求第四个月的兔子数时,需要第二个月和第三个月的兔子数。我们把f1作为本月前两个月的兔子数,f2作为本月前一个月的兔子数,f3即本月的兔子数。在求第四个月的兔子数时,把f2赋给f1,f3赋给f2,则第四个月的兔子数为f3=f2+f1。
程序:
#include<stdio.h>
int main()
{
int f1=1,f2=1,f3;
int i;
printf("%12d\n%12d\n",f1,f2);
for(i=1;i<=38;i++)
{
f3=f1+f2;
printf("%12d\n",f3);
f1=f2;
f2=f3;
}
return 0;
}
结果: