跳到主要内容

古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少 ?

参考答案:

这是一个经典的斐波那契数列问题,也被称为“兔子繁殖问题”。

从题目描述中,我们可以知道:

  1. 第1个月和第2个月,兔子总数为1对。
  2. 从第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个月的兔子总数。