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

给定自然数N和M,求N的最后M位数字之和,现有JS实现报错求解决方案

问题分析&代码修正

原代码存在的问题

  • 语法错误:res.[length-1] 属于非法写法,且仅获取了最后1位数字,没有覆盖需要的M位范围
  • 逻辑完全不符合需求:原返回值是N和最后1位数字的乘积,不是最后M位的数字总和

修正后的实现

const SumOfNum = (N, M) => {
  // 将自然数N转为字符串方便逐位处理
  const numStr = N.toString()
  // 截取最后M位,若N的总位数不足M则取全部内容
  const lastMPart = numStr.slice(-M)
  // 逐位转数字后累加求和
  return lastMPart.split('').reduce((total, cur) => total + Number(cur), 0)
}

测试用例验证

  • 输入SumOfNum(123456, 3),最后3位数字为4、5、6,返回结果为15
  • 输入SumOfNum(789, 5),N总位数不足5,取全部数字7、8、9,返回结果为24

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.13 17:09:02