You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何构建斐波那契数列(Fibonacci numbers)函数?请求技术指导

构建斐波那契数列函数的几种实现方式

1. 基础递归实现(适合理解逻辑)

直接遵循斐波那契数列的数学定义,输入整数n返回第n项(定义第0项为0,第1项为1):

def fib(n):
    if n <= 0:
        return 0
    elif n == 1:
        return 1
    else:
        return fib(n-1) + fib(n-2)

注意:该实现存在大量重复计算,当n大于30时性能会明显下降。

2. 迭代实现(高效推荐)

通过循环迭代计算,避免递归的重复计算问题,是性能最优的实现方式之一:

def fib(n):
    a, b = 0, 1
    for _ in range(n):
        a, b = b, a + b
    return a

如果需要生成前n项的完整序列,可以修改为:

def fib_sequence(n):
    sequence = []
    a, b = 0, 1
    for _ in range(n):
        sequence.append(a)
        a, b = b, a + b
    return sequence

调用示例:fib_sequence(6) 返回 [0, 1, 1, 2, 3, 5]

3. 带缓存的递归(兼顾可读性与效率)

使用lru_cache装饰器缓存已计算的结果,解决基础递归的性能问题:

from functools import lru_cache

@lru_cache(maxsize=None)
def fib(n):
    if n <= 0:
        return 0
    elif n == 1:
        return 1
    else:
        return fib(n-1) + fib(n-2)

内容的提问来源于stack exchange,提问作者leon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 19:05:24