python —— 求解斐波那契数列
代码 1:
# 1次 z 3号 2次 x3 4号 3次 x3 5号
def f(n):
x = 1
y = 1
if n <= 2:
raise ValueError("n must be greater than 2")
for _ in range(n-2):
z = x + y
x = y
y = z
return z
print(f(10000))
代码 2:
def f2(n):
if n<=2:
return 1
return f2(n-1) + f2(n-2)
print(f2(100))
代码 3:
cach = dict() # key value n f(n)
def f3(n):
if n in cach:
return cach[n]
if n<=2:
return 1
_r = f3(n-1) + f3(n-2)
cach[n] = _r
return _r
print(f3(100))
本博客是博主个人学习时的一些记录,不保证是为原创,个别文章加入了转载的源地址,还有个别文章是汇总网上多份资料所成,在这之中也必有疏漏未加标注处,如有侵权请与博主联系。
如果未特殊标注则为原创,遵循 CC 4.0 BY-SA 版权协议。
posted on 2025-12-11 21:34 Angry_Panda 阅读(2) 评论(0) 收藏 举报
浙公网安备 33010602011771号