var num = prompt("Enter a number");
for (var sum = 0; sum <= num; sum ) {
sum = sum 1;
}
document.write(sum);
example when I enter 6 in the prompt it will sum 1 2 3 4 5 6 =21. but as of right now i can only print 123456 instead of 21.
CodePudding user response:
The problem with your code is that you're using sum
for the loop and for the answer. That's messing everything up. You can use a variable for the loop and another variable for the sum.
Maybe that works for you.
var num = prompt("Enter a number");
var sum = 0;
for(var i = 1; i <= num; i ) {
sum = i;
}
document.write(sum);
CodePudding user response:
Input received by you is a string and that's why it's contacting rather than adding to sum.
This is the best optimum solution as its time complexity is O(3) times only.
so, it's fast. rather than with brute force which is o(n);
var num = prompt("Enter a number");
function total(n) {
return n * (n 1) / 2;
}
document.write(total(parseInt(num)));
CodePudding user response:
here is some change in your code.
note: ( ) is used to convert string-number type to number type
var num = prompt("Enter a number");
const sum = Array.from(Array( num 1).keys()).reduce((prev, curr) => prev = curr, 0);
document.write(sum);