有一个很有名的数学逻辑题叫做不死神兔问题,有一对兔子,从出生后第三个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问输入n个月后有几对兔子,用C++实现
时间: 2023-10-16 22:13:57 浏览: 70
可以使用递归的方式实现:
```cpp
#include <iostream>
using namespace std;
int fibonacci(int n) {
if (n == 1 || n == 2) {
return 1;
} else {
return fibonacci(n-1) + fibonacci(n-2);
}
}
int main() {
int n;
cout << "请输入n个月后的兔子数量:";
cin >> n;
cout << n << "个月后有" << fibonacci(n) << "对兔子" << endl;
return 0;
}
```
这个程序中,`fibonacci` 函数使用递归的方式计算第n个月的兔子数量。当n等于1或2时,返回1,否则返回第n-1个月的兔子数量加上第n-2个月的兔子数量。
阅读全文