古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少 ?
参考答案:
这是一个经典的斐波那契数列问题,也被称为“兔子繁殖问题”。
从题目描述中,我们可以知道:
- 第1个月和第2个月,兔子总数为1对。
- 从第3个月开始,每个月的兔子总数是前两个月兔子总数的和。
用数学公式表示,假设F(n)表示第n个月的兔子总数,那么: F(1) = 1, F(2) = 1 F(n) = F(n-1) + F(n-2) (当n >= 3)
这就是斐波那契数列的定义。
现在,我们可以使用Python代码来计算每个月的兔子总数。
def fibonacci_rabbit(months):
if months <= 0:
return 0
elif months == 1 or months == 2:
return 1
else:
a, b = 1, 1
for _ in range(3, months + 1):
a, b = b, a + b
return b
# 计算前12个月的兔子总数
for month in range(1, 13):
print(f"第{month}个月的兔子总数为:{fibonacci_rabbit(month)}对")
这段代码定义了一个函数fibonacci_rabbit
,它接受一个月份作为参数,并返回该月的兔子总数。然后,我们使用一个循环来计算并打印前12个月的兔子总数。