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

Fibonacci数列求和代码异常:输入75024与75025结果一致

问题排查:sumFibs函数输入75024与75025返回相同结果

问题根源

代码的核心问题出在筛选条件的判断逻辑:

  • 生成斐波那契数列时,循环条件是fb[-1] <= num,所以当num=75025时,数列会包含75025本身(它是奇数斐波那契数)。
  • 但后续筛选奇数的列表推导式里用了i < num,直接把75025排除在外,导致num=75025的筛选结果和num=75024完全一致,最终求和结果相同。

修复方案

将筛选条件中的i < num修改为i <= num,确保当输入的num本身是符合条件的奇数斐波那契数时,能被计入求和范围。

修复后的代码:

def sumFibs(num):
    fb = [0, 1]
    while fb[-1] <= num:
        fb.append(fb[-1] + fb[-2])
    r = [i for i in fb if i % 2 != 0 and i <= num]
    return sum(r)

验证结果

  • 输入75024时,返回结果仍为60696(符合预期);
  • 输入75025时,返回结果为135721(正确包含了75025这个奇数斐波那契数)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 18:13:15