[英]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.