Есть такая функция , как ее модифицировать под 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));
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Ребята, что нужно дописать, что бы передача параметров не могла начинаться с &, как во втором примере?
Добрый вечер, есть два массива, нужно сделать один массив, но чтобы значения не совпадали, те