这个问题可以参考另一篇文章分析,未使用递归做出来的 古典问题:兔子不死
题目
小明买了一对刚出生的兔子,兔子从出生后第3个月开始,每个月都生一对兔子,
每对兔子出生后第三个月开始每个月都会生一对兔子,
假如兔子都不死,问100个月后小明的兔子为多少对?
分析
代码实现
import functools
@functools.lru_cache(maxsize=128)
def f3(n):
if n==1 or n==2:
total=1
else:
total=f3(n-1)+f3(n-2)
return total
print(f3(100))
354224848179261915075