题解 | #统计每个月兔子的总数#
统计每个月兔子的总数
https://www.nowcoder.com/practice/1221ec77125d4370833fd3ad5ba72395
设f(n)为第n个月的兔子总数
根据描述,可以列出以下递归关系:
f(1) = 1
f(2) = 1
对于n≥3的任何一个月,兔子的数量=(n-1个月存活的成熟成年兔子的数量)+(n-2个月出生并刚刚成熟的新生兔子的数量)
f(n) = f(n-1) + f(n-2) (n >= 3)
这是一个斐波那契数列
通过递归或者迭代求解
def f(n):
if n == 1 or n == 2:
return 1
return f(n-1) + f(n-2)
m = int(input())
print(int(f(m)))