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

JavaScript实现两数区间整数求和代码异常排查咨询

代码存在的问题
  • 核心功能逻辑错误
    你当前的代码要实现的是区间内所有整数求和,但循环体内执行的是count += 1,本质是在统计区间整数的个数,不是累加数值。比如输入a=1、b=3,预期结果是1+2+3=6,你的代码只会返回3,完全不符合需求。
  • 代码冗余度高
    a > b和a < b两个分支的逻辑完全重复,没有必要写两套重复的判断和循环代码,可先统一确定区间的上下限再执行求和逻辑。
  • 变量使用方面没有问题:你用let在分支块内声明的greaterNum、lesserNum都是块级作用域变量,仅在对应分支内生效,不存在全局变量污染的问题。
修复方案

你可以直接用等差数列求和公式实现,既不需要循环性能更高,也能避免逻辑错误:

function getSum( a,b ){
  const min = Math.min(a, b)
  const max = Math.max(a, b)
  // 等差数列和 = 项数 * (首项 + 末项) / 2
  return (max - min + 1) * (min + max) / 2
}

如果要保留你原来的循环写法,只需要把循环体内的count += 1改成count += lesserNum + 1即可运行正确。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 05:27:02