sumTo рекурсія vs цикл

by Slava Slava

JavaScript

/* sumTo(1) = 1
sumTo(2) = 2 + 1 = 3
sumTo(3) = 3 + 2 + 1 = 6
sumTo(4) = 4 + 3 + 2 + 1 = 10
...
sumTo(100) = 100 + 99 + ... + 2 + 1 = 5050 */

function sumTo(n) {
  if(n < 2) {
    return 1
  }
  
	return n + sumTo(n - 1) 
}

function sumTo2(n) {
	let total = 0
  
  for(let i = 1; i <= n; i++) {
		total += i
  }
  
  return total
}

console.log(sumTo2(4))