如何使用 JavaScript 求出 1 到 N 之间所有数字的总和

新手上路,请多包涵

我正在尝试找到一种方法来使用 JavaScript 计算 1 到 N 之间所有数字的总和。以下是我到目前为止尝试过的代码,但它似乎不起作用。

 function numberSum(N) {
  var total = 0;
    for(var i = 1; i <= N; i++){
      total += i;
    }
    return total;
}

我曾尝试使用 jslint 和其他在线验证器来检查我是否遗漏了什么,但这似乎也无法帮助我找到代码无法正常工作的原因。上面有什么我遗漏的东西阻止脚本执行添加吗?

原文由 AndrewL64 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 528
2 个回答

你的代码很好。

把事情简单化:

 var res = (n * (n+1)) / 2;

维基百科

原文由 Amir Popovich 发布,翻译遵循 CC BY-SA 3.0 许可协议

您的代码运行良好。你是怎么运行的?

演示:

 function numberSum(N) {
  var total = 0;
    for(var i = 1; i <= N; i++){
      total += i;
    }
    return total;
}

function run(){
  val = document.getElementById("val").value;
  document.getElementById("results").innerHTML=val+": "+numberSum(val)
  }
 <input id="val">
<input type="Submit" onclick="run();">
<p id="results"></p>

原文由 A.J. Uppal 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题