【Python算法作业】迭代版、θ(1)空间的斐波那契数列算法
首先演示 用 Mathematica 计算 斐波那契数列的前 100 项(从第0项开始):
Python实现代码:
# 【2.5.8】改进的迭代版、θ(1)空间的斐波那契数列算法
"""
算法思想: a = 0 b = 1
i 从 2 到 n :
b = a + b
a=b-a
输出的 a 是Fib(n)
"""
def Fib_1Space(n):
a = 0
b = 1
if n <= 1:
if n == 0:
return a
else:
return b
else:
for i in range(2, n + 1):
b = a + b
a = b - a
# 注意 返回语句的 位置: 在 for 循环结束之后
return b
if __name__ ==