实例五十:兔子繁衍问题
问题描述: 有一对兔子,从出生后第 3 个月起每个月都生一对兔子,小兔子长到第 3 个月后每个月又生一对兔子,假如兔子都不死,问以后每个月的兔子总数为多少。
算法思路:
显然前两个月都只有一对兔子,其增长率为数列 1,1,2,3,5,8,13,21…,即从第三项开始每一项都是前面两项的和。 这其实就是计算并输出 Fibonacci 数列的前 n 项,即: F1 = 1 (n = 1) F2 = 2 (n = 2) Fn = Fn-1 + Fn-2 (n >= 1)
#include<stdio.h>
int main()
{
int i
;
int f
[20]={1,1};
for(i
=2;i
<20;i
++)
f
[i
] = f
[i
-2] + f
[i
-1];
for(i
=0;i
<20;i
++)
{
if(i
%5==0)
printf("\n");
printf("d",f
[i
]);
}
}