兔子繁衍问题——C语言
问题提出
一对兔子,从出生后第三个月起每个月都生一对兔子。小兔子长到第三个月后每个月又生一对兔子。假如兔子都不死,请问第一个月出生的一对兔子,至少需要繁衍到第几个月时兔子总数才能到达n对?输入一个不超过10 000的正整数n,输出兔子总数达到n的最少月数,试编写相应程序。
思路
由于兔子基数为一对,可以试用列举法观察规律
月份 |
1 |
2 |
3 |
4 |
5 |
6 |
对数 |
1 |
1 |
2 |
3 |
5 |
8 |
不难发现这是一个斐波那契数列,兔子的总数是上一个月的数量加上上个月的数量,即S(n)=S(n-1)+S(n+1)
程序设计
#include<stdio.h>
int main