Home > Mobile >  How to store and print out a sum that's in a for loop?
How to store and print out a sum that's in a for loop?

Time:04-09

The program is this: Insert a number, for example 5 and add it with all numbers below it. In this case, it would be 5 4 3 2 1=15

I have this:

var res = 0

function addUp3(num) {
  for (var i = 0; i <= num; i  ) {
    console.log(i);
    res  = i;
    console.log(res);
  }
}

I have no clue why it prints out random numbers.

The output of this was: 0,0,1,1,2,3,3,6 (without commas)

I've tried looking for an answer online, but they all want to do it with arrays, I don't think it's neccesary to do so. Can someone open my mind a bit please.

CodePudding user response:

The for loop adds i each time. 0 1 2 ... n. The reason it's printing twice is because you have 2 console.logs.

  1. Log 1 prints 0 (i)
  2. Log 2 prints 0 (res i)
  3. Log 3 prints 1 (i)
  4. Log 4 prints 1 (res i)
  5. Log 5 prints 2 (i)
  6. Log 6 prints 3 (res i, which here would be 1 2)

If you just want the final answer, have a console.log(res) after your for loop

var res = 0

function addUp3(num) {
  for (var i = 0; i <= num; i  ) {
    res  = i;
  }
  console.log(res)
}

CodePudding user response:

I moved the final print of res out of the loop and started the loop at 1 instead of 0

var res = 0

function addUp3(num) {
  for (var i = 1; i <= num; i  ) {
    console.log(i);
    res  = i;
  }
  console.log(`sum: ${res}`);
}

addUp3(5);

  • Related