实现斐波那契数列计算的 Python 代码

以下代码通过递归和迭代两种方式实现斐波那契数列计算,用户可选择指定输出前 N 项或第 N 项的值。

def fibonacci_recursive(n):
    """递归实现斐波那契数列第n项"""
    if n <= 0:
        return 0
    elif n == 1:
        return 1
    else:
        return fibonacci_recursive(n - 1) + fibonacci_recursive(n - 2)

def fibonacci_iterative(n):
    """迭代实现斐波那契数列前n项"""
    fib_sequence = []
    a, b = 0, 1
    for _ in range(n):
        fib_sequence.append(a)
        a, b = b, a + b
    return fib_sequence

if __name__ == "__main__":
    mode = input("选择模式:1-计算第N项(递归) | 2-输出前N项(迭代): ")
    n = int(input("输入N值: "))
    
    if mode == "1":
        print(f"斐波那契数列第{n}项: {fibonacci_recursive(n)}")
    elif mode == "2":
        print(f"前{n}项序列: {fibonacci_iterative(n)}")
    else:
        print("无效模式")

代码功能说明

递归函数:直接返回第 N 项的值,适合小规模计算(N<30),但存在重复计算问题。
迭代函数:生成前 N 项的列表,时间复杂度 O(N),适合大规模数据。

使用示例

输入模式 1N=10,输出第10项结果 55
输入模式 2N=5,输出序列 [0, 1, 1, 2, 3]

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐