如果一对兔子每月能生一对小兔子,而每对小兔在它出生后的第3个月里,又能开始生一对小兔子,假定在不发生死亡的情况下,由一对初生兔子开始,一年后能繁殖成多少对兔子?并给出计算过程。
兔子数量的计算过程如下:
时间(月) | 初生兔子(对) | 成熟兔子(对) | 兔子总数(对) |
1 | 1 | 0 | 1 |
2 | 0 | 1 | 1 |
3 | 1 | 1 | 2 |
4 | 1 | 2 | 3 |
5 | 2 | 3 | 5 |
6 | 3 | 5 | 8 |
7 | 5 | 8 | 13 |
8 | 8 | 13 | 21 |
9 | 13 | 21 | 34 |
10 | 21 | 34 | 55 |
由此可知:从第一个月开始以后,每个月的兔子总量为
1,1,2,3,5,8,13,21,55,89,144,233.
程序实现如下:
#include <stdio.h>
int main()
{
int Fibonacci[13], i;
Fibonacci[0] = 1;
Fibonacci[1] = 1;
for(i = 2; i < 13; ++i)
Fibonacci[i] = Fibonacci[i-2] + Fibonacci[i-1];
printf("第1个月兔子的数目为:%i/n", Fibonacci[0]);
printf("第2个月兔子的数目为:%i/n", Fibonacci[1]);
for(i = 2; i < 13; ++i)
printf("第%i个月兔子的数目为:%i/n", i + 1, Fibonacci[i]);
}
程序的执行结果如下: