一对兔子,从出生后第3个月起每个月都生一对兔子。小兔子长到第3个月后每个月又生一对兔子。假如兔子都不死,请问第1个月出生的一对兔子,第n个月有多少只兔子?
分析:第一个月 一对兔子
第二个月 一对兔子
第三个月 上个月的一对兔子+第一个月兔子新出生的一对兔子=2对兔子
...........
第n个月F(n)= 上个月(n-1月)的兔子数F(n-1)+上上个月(n-2月)新出生的兔子这个月又生出的兔子数F(n-2)
#include <stdio.h>
int fun(int m){
if(m==1){
return 2;
}
if(m==2){
return 2;
}
else
return fun(m-1)+fun(m-2);
}
int main(){
int n,ans;
while(scanf("%d",&n)!=EOF){
ans=fun(n);
printf("%d只",ans);
}
return 0;
}