Python-动态规划-斐波那契数列

# 斐波那契数列:Fn = Fn-1 + Fn-2
def fibnacci(n):  # 子问题的重复计算
    if n == 1 or n == 2:
        return 1
    else:
        return fibnacci(n - 1) + fibnacci(n - 2)


# 动态规划(DP)的思想
# 1.最优子结构(递推式)
# 2.重复子问题
def fibnacci_no_recurision(n):
    f = [0, 1, 1]
    if n > 2:
        for i in range(n - 2):
            num = f[-1] + f[-2]
            f.append(num)
    return f[n]


print(fibnacci_no_recurision(100))

 

posted on 2023-02-01 14:42  夜黎i  阅读(42)  评论(0)    收藏  举报

导航