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))





posted on 2025-12-11 21:34  Angry_Panda  阅读(2)  评论(0)    收藏  举报

导航