题目:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一只兔子,假如兔子都不死,问每个月的兔子总数为多少?
输入:输入月份数
输出: 输出兔子总数
#include <stdio.h>
int main()
{
///关键是找到递推式 f(n)=f(n-1)+f(n-2) (n>=4)
///递推式的解释:对于第n个月的兔子数量:有两部分组成,
///一部分是上个月的兔子f(n-1),另一部是满足3个月大的兔子
///会生一只兔子f(n-2)
int arr[100];
int i,N;
arr[1]=arr[2]=1;
arr[3]=2;
for(i=4;i<100;i++){
arr[i]=arr[i-1]+arr[i-2];
}
while((scanf("%d",&N))!=EOF){
printf("%d\n",arr[N]);
}
return 0;
}