有人想知道n个月一对兔子可繁殖成多少对,便筑了一道围墙把一对兔子关在里面。已知一对兔子每个月可以生一对小兔子,而一对兔子出生后第二个月就开始生小兔子。假如n个月内没有发生死亡,则一对兔子n月能繁殖成多少对?试编写函数求解上述问题,调用格式为a= rabbitbreed (n)。
时间: 2023-04-01 15:01:54 浏览: 96
根据题意,一对兔子在第n个月能繁殖成的对数为斐波那契数列的第n项,可以用递归函数来求解。具体实现如下:
```c
int rabbitbreed(int n)
{
if (n == 1 || n == 2)
return 1;
else
return rabbitbreed(n - 1) + rabbitbreed(n - 2);
}
```
调用格式为a = rabbitbreed(n),其中n为月数,a为繁殖成的兔子对数。
相关问题
斐波那契数列,兔子问题:“有个人想知道,一年之内一对兔子能繁殖多少对?于是就筑了一道围墙把一对兔子关在里面。已知一对兔子每个月可以生一对小兔子,而一对兔子从出生后第3个月起每月生一对小兔子。假如一年内没有发生死亡现象,那么,一对兔子一年内(12个月)能繁殖成多少对?,js
斐波那契数列,兔子问题,一年之内一对兔子能繁殖以下几对:
第1个月:1对兔子
第2个月:1对兔子
第3个月:2对兔子
第4个月:3对兔子
第5个月:5对兔子
第6个月:8对兔子
第7个月:13对兔子
第8个月:21对兔子
第9个月:34对兔子
第10个月:55对兔子
第11个月:89对兔子
第12个月:144对兔子
因此,一对兔子一年内(12个月)能繁殖成144对兔子。
阅读全文