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))
浙公网安备 33010602011771号