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

逆平方数列前n项和计算函数结果不符,请求排查错误

你的代码逻辑完全偏离了逆平方数列的计算规则

错误点分析

  • 核心逻辑错误:逆平方数列的每一项是1/(i²)(i从1到n),但你的代码用了完全错误的累积除法逻辑。以n=5为例,你的代码实际计算的是5/(5) + 5/(5*4) +5/(5*4*3)+5/(5*4*3*2)+5/(5*4*3*2*1),这和目标数列毫无关系。
  • 多余的初始值处理:x.toFixed(2)完全没必要,输入的n是项数,应为整数,不需要提前格式化小数。
  • 返回值不符合要求:题目要求返回保留两位小数的字符串,但你的代码直接返回数字,未做格式转换。

修正后的代码

module.exports.seriesSum = function seriesSum(n) {
    let sum = 0;
    // 循环遍历1到n,累加每一项的逆平方值
    for (let i = 1; i <= n; i++) {
        sum += 1 / (i * i);
    }
    // 保留两位小数并转为字符串返回
    return sum.toFixed(2);
};

console.log(module.exports.seriesSum(5)); // 输出 "1.46"

修正说明

  • 调整循环逻辑:从1到n遍历,直接计算每一项的1/(i*i)(用乘法替代Math.pow(i,2)更直观高效)并累加。
  • 用toFixed(2)完成小数格式化,直接返回符合要求的字符串类型结果。
  • 移除了冗余的param变量,逻辑更清晰简洁。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 22:12:33