酷代码 AI
菜单
服务商

历史上有一个有名的关于兔子的问题:假设第0年有一对兔子,长两个月它们就算长大成年了。然后以后每个月都会生出1对兔子,生下来的兔子也都是长两个月就算成年,然后每个月也都会生出1对兔子了。 这里假设兔子不会死,每次都是只生1对兔子。 问:第n个月有几对兔子? 输入 读入一个整数 输出 输出 的值 样例输入 复制 3 样例输出 复制 3

第0个月:1对兔子(初始对,未成年)。 第1个月:1对兔子(未成年)。 第2个月:2对兔子(初始对成年并生1对,共2对)。 第3个月:3对兔子(初始对继续生1对,第2个月新生的未成年,共3对)。 递推关系: 设 f(n) 为第n个月的兔子对数。 - 第0个月:f(0) = 1 - 第1个月:f(1) = 1 - 第n个月(n ≥ 2):f(n) = f(n-1) + f(n-2) 解释: 第n个月的兔子对数 = 上个月已有的兔子对数 f(n-1) + 两个月前(这些兔子现在都成年)新生的兔子对数 f(n-2)。 对于 n=3: f(2) = f(1) + f(0) = 1 + 1 = 2 f(3) = f(2) + f(1) = 2 + 1 = 3 代码实现(Python): ```python n = int(input()) def rabbit_pairs(n): if n == 0 or n == 1: return 1 a, b = 1, 1 for _ in range(2, n + 1): a, b = b, a + b return b print(rabbit_pairs(n)) ``` [2026-01-05 12:13:18 | AI问答 | 326点数解答]

相关提问
发财导航,免费问AI
实用工具查看更多