Есть такая функция , как ее модифицировать под 2 значения , чтобы можно была считать от числа num1 к числу num2
function sumTo(n) {
if (n == 1) return 1;
return n + sumTo(n - 1);
}
alert( sumTo(100) );
Почти так же:
function sumFromTo(from, to) {
if (from > to) return sumFromTo(to, from);
if (to===from) return from;
return from + sumFromTo(from+1, to);
}
console.log(sumFromTo(1, 100)); // 5050
console.log(sumFromTo(100, 1)); // 5050
Можно немножко уменьшить глубину стека:
function sumFromTo(from, to) {
if (to === from) return from;
if (to === from + 1) return from + to;
return from + to + sumFromTo(from + 1, to - 1);
}
console.log(sumFromTo(1, 100)); // 5050
console.log(sumFromTo(1, 99)); // 4950
function sumTo(a,n){
if(n==a) return a;
return n + sumTo(a,n-1);
}
alert(sumTo(4,9));
А рекурсия обязательна? А то можно ведь просто:
function sumFromTo(n1, n2) {
return (n1 + n2) * (n2 - n1 + 1) / 2;
}
console.log(sumFromTo(1, 99));
console.log(sumFromTo(2, 100));
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости