繁体   English   中英

如何总结在提示中输入的所有数字

[英]How to sum up all numbers entered in prompt

 var num = prompt("Enter a number"); for (var sum = 0; sum <= num; sum++) { sum = sum + 1; } document.write(sum);

例如,当我在提示符中输入 6 时,总和为 1+2+3+4+5+6 =21。 但截至目前,我只能打印 123456 而不是 21。

  • 您收到的输入是一个字符串,这就是为什么它是联系而不是相加的原因。

  • 这是最佳的最佳解决方案,因为它的时间复杂度仅为 O(3) 倍。

  • 所以,它很快。 而不是使用 o(n) 的蛮力;

 var num = prompt("Enter a number"); function total(n) { return n * (n + 1) / 2; } document.write(total(parseInt(num)));

您的代码的问题在于您将sum用于循环和答案。 这把一切都搞砸了。 您可以将一个变量用于循环,将另一个变量用于总和。

也许这对你有用。

 var num = prompt("Enter a number"); var sum = 0; for(var i = 1; i <= num; i++) { sum += i; } document.write(sum);

这是您的代码中的一些更改。
注意:(+) 用于将字符串数字类型转换为数字类型

 var num = prompt("Enter a number"); const sum = Array.from(Array(+num + 1).keys()).reduce((prev, curr) => prev += curr, 0); document.write(sum);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM