有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?程序分析:兔子的规律为数列 1.1.2.3.5.8.13.21....
时间: 2023-08-30 11:05:46 浏览: 64
python 计算每个月的兔子总数为多少?(示例)
这是一个典型的斐波那契数列问题,可以使用递归或循环来解决。
方法一:使用递归
```
def fibonacci(n):
if n <= 2:
return 1
else:
return fibonacci(n-1) + fibonacci(n-2)
num = int(input("请输入月份:"))
print("第%d个月共有%d对兔子" % (num, fibonacci(num*2)))
```
方法二:使用循环
```
num = int(input("请输入月份:"))
a, b = 0, 1
for i in range(num*2):
a, b = b, a+b
if i % 2 == 0:
print("第%d个月共有%d对兔子" % ((i+2)//2, b))
```
注意,当月份较大时,递归方法可能会出现栈溢出的问题,因此推荐使用循环方法。
阅读全文