一对兔子,从出生后第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;
}
本文通过递归函数实现了一个经典的数学问题——兔子繁殖问题的解决方案。该问题假设每对兔子从第三个月开始每个月都会生一对兔子,并探讨了第n个月时兔子的数量。

744

被折叠的 条评论
为什么被折叠?



