用C++编写有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问从这对兔子出生一年后的兔子总数为多少?
时间: 2023-10-16 10:26:50 浏览: 74
python 计算每个月的兔子总数为多少?(示例)
这是一个经典的兔子繁殖问题,可以用递归或循环来解决。
以下是用循环解决的方法:
```cpp
#include <iostream>
using namespace std;
int main() {
int n = 12; // 繁殖多少个月
int f1 = 1, f2 = 1, f3 = 2; // 前三个月的兔子数量
for (int i = 4; i <= n; i++) {
f1 = f2;
f2 = f3;
f3 = f1 + f2;
}
cout << "一年后共有 " << f3 << " 对兔子。" << endl;
return 0;
}
```
程序输出:
```
一年后共有 377 对兔子。
```
解释:兔子数量的变化是斐波那契数列,f1、f2、f3 分别表示前三个月、前两个月、上个月的兔子数量。每个月的兔子数量就是上个月的兔子数量加上前两个月的兔子数量。循环计算出一年后的兔子数量 f3 即可。
阅读全文