每对小兔子从出生第三个月起每个月都会生一对小兔子,假设兔子都不死。若开始有一对小兔子,编写程序,通过键盘输入第几个月,求出该月的兔子总共几对?,总共多少只?
时间: 2024-06-08 18:10:30 浏览: 45
c代码-有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?(输出前40个月即可)
这是一个经典的斐波那契数列问题,可以使用递归或循环来解决。
递归解法:
```python
def fibonacci(n):
if n == 1 or n == 2:
return 1
else:
return fibonacci(n-1) + fibonacci(n-2)
month = int(input("请输入月份:"))
total = fibonacci(month+1)
print("第%d个月共有%d对兔子,总共%d只。" % (month, total, total*2))
```
循环解法:
```python
month = int(input("请输入月份:"))
a, b = 1, 1
for i in range(month-1):
a, b = b, a+b
print("第%d个月共有%d对兔子,总共%d只。" % (month, b, b*2))
```
两种方法的思路都是一样的,就是利用斐波那契数列的规律,每个月的兔子对数等于上个月的兔子对数加上前两个月的兔子对数之和。
阅读全文