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));
*/