运用递归思想
即:
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对兔子