JSFiddle - React, Tailwind, and code Playground

by John Doe

HTML

Напишите функцию sumTo(n), которая для данного n вычисляет сумму чисел от 1 до n, например:

показать чистый исходник в новом окнеСкрыть/показать номера строкпечать кода с сохранением подсветки
1
sumTo(1) = 1
2
sumTo(2) = 2 + 1 = 3
3
sumTo(3) = 3 + 2 + 1 = 6
4
sumTo(4) = 4 + 3 + 2 + 1 = 10
5
...
6
sumTo(100) = 100 + 99 + ... + 2 + 1 = 5050
Сделайте три варианта решения:

С использованием цикла.
Через рекурсию, т.к. sumTo(n) = n + sumTo(n-1) для n > 1.
С использованием формулы для суммы арифметической прогрессии.

JavaScript

function sumTo(n) {
  var sum = 0;
  for(var i=1; i<=n; i++) {
    sum += i;
  }
  return sum;
}

alert( sumTo(3) );


/*
function sumTo(n) {
    return (n != 1) ? n + sumTo(n-1): n ;      
}
alert(sumTo(10000));

function sumTo(n) {
    return n*(n+1)/2;
}
alert(sumTo(3));
*/