斐波那契python实现
1. 利用变量直接交换
def f(n):
a, b = 0, 1
for _ in range(n):
a, b = b, a + b
else:
return a
for i in range(10):
d = f(i)
print(d)
# 0
# 1
# 1
# 2
# 3
# 5
# 8
# 13
# 21
# 34
2. 利用递归
def dd(n):
if n <= 0:
return [0]
if n == 1:
return [0, 1]
if n == 2:
return [0, 1, 1]
a = dd(n - 1)
a.append(a[-1] + a[-2])
return a
d = dd(10)
print(d)
# [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55]
直接返回
def f(n):
if n <= 1:
return n
x = f(n - 1)
y = f(n - 2)
return x + y
print(f(10))
# 55