斐波那契数列:1、1、2、3、5、8、13、21、34、。。。
递归
def fab(n):
# 终止条件 边界
if n <= 2:
return 1
else:
# 最优子结构 状态转移公式
return fab(n - 1) + fab(n - 2)
动态规划
def fab_2(n):
a = 1
b = 1
if n <= 2:
print('fab({})={}'.format(n, b))
return 1
for i in range(n - 2):
print(a, b)
a, b = b, a + b
print('fab({})={}'.format(n, b))
return b