#03 简单

题目描述

生成斐波那契数列的第 n 项。斐波那契数列:0, 1, 1, 2, 3, 5, 8, 13, 21, ...(F(0)=0, F(1)=1, F(n)=F(n-1)+F(n-2))

示例

输入:n = 10

输出:55

提示

使用迭代法,用两个变量 a, b 分别代表前两项,循环 n 次更新即可。迭代法比递归法更高效。

参考答案

def fibonacci(n):
    """生成斐波那契数列的第 n 项"""
    if n <= 0:
        return 0
    if n == 1:
        return 1
    a, b = 0, 1
    for _ in range(2, n + 1):
        a, b = b, a + b
    return b

# 测试
for i in range(10):
    print(f"F({i}) = {fibonacci(i)}")
# F(0)=0, F(1)=1, F(2)=1, F(3)=2, ..., F(9)=34

print(f"F(10) = {fibonacci(10)}")  # 55