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

求支持负数参数的第n项斐波那契数计算函数实现方案

负数参数斐波那契函数实现方案

负数索引的斐波那契(也叫Negafibonacci)序列满足公式:F(-n) = (-1)^(n+1) * F(n),你可以基于现有正n的实现直接扩展,不用修改原有迭代逻辑。

完整实现代码

const fib = n => {
  // 处理负数情况,先取绝对值计算
  const isNegative = n < 0;
  const absN = Math.abs(n);

  let prev = 0, next = 1;
  for(let i = 0; i < absN; i++){
    next = prev + next;
    prev = next - prev;
  }

  // 负数参数按照Negafibonacci规则调整返回值
  return isNegative ? ((-1) ** (absN + 1)) * prev : prev;
}

逻辑说明

  • 首先判断入参是否为负数,同时取入参的绝对值用于原有迭代逻辑计算
  • 沿用你原来的迭代逻辑计算绝对值对应的正索引斐波那契值,保证原有正n场景的逻辑和性能完全不变
  • 若入参为负数,按照Negafibonacci的数学公式对结果做符号调整即可

测试验证

你可以用以下用例验证正确性:

  • fib(0) 返回 0
  • fib(1) 返回 1
  • fib(5) 返回 5
  • fib(-1) 返回 1
  • fib(-2) 返回 -1
  • fib(-5) 返回 5

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 02:24:08