本文主要是介绍兔子繁殖问题:假定一对大兔子每月能生一对小兔子,且每对新生的小兔子经过一个月可以长成一对大兔子,具备繁殖能力,如果不发生死亡,且每次均生下一雌一雄,问一年后共有多少对兔子?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
运用递归思想
即:
1月: 1对兔子(a:小兔子)总共: 1对兔子
2月: 1对兔子(a:大兔子)
3月: 1对兔子(a:大兔子) 1对兔子(b:小兔子) 总共: 2对兔子
4月: 1对兔子(a:大兔子) 1对兔子(c:小兔子) 1对兔子(b:大兔子) 总共: 3对兔子
5月: 1对兔子(a:大兔子) 1对兔子(d:小兔子) 1对兔子(c:大兔子) 1对兔子(b:大兔子) 1对兔子(e:小兔子)总共5对兔子
从第三个月开始,每个月兔子总数为前两个月兔子之和
那么代码如下
int main()
{int n=12;int ret= caculate(n);printf("%d", ret);return 0;
}
int caculate(int n)
{if (n == 1 || n == 0){return 1;}else{return caculate(n - 1) + caculate(n - 2);}
}
最终算出结果233对兔子
这篇关于兔子繁殖问题:假定一对大兔子每月能生一对小兔子,且每对新生的小兔子经过一个月可以长成一对大兔子,具备繁殖能力,如果不发生死亡,且每次均生下一雌一雄,问一年后共有多少对兔子?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!