Функция для вычисления суммы степеней в заданном диапазоне
Для вычисления суммы степеней всех чисел в заданном диапазоне (включая оба конца диапазона) используйте следующую функцию:
const sumPower = (end, power = 2, start = 1) =>
Array(end + 1 - start)
.fill(0)
.map((x, i) => (i + start) ** power)
.reduce((a, b) => a + b, 0);
Вот, как вы можете использовать эту функцию:
- Вызовите
sumPower(end)
, чтобы вычислить сумму квадратов всех чисел от 1 до end
.
- Вызовите
sumPower(end, power)
, чтобы вычислить сумму power
-ых степеней всех чисел от 1 до end
.
- Вызовите
sumPower(end, power, start)
, чтобы вычислить сумму power
-ых степеней всех чисел от start
до end
.
Обратите внимание, что вторые и третьи аргументы (power
и start
) являются необязательными и по умолчанию равны 2
и 1
соответственно, если не указаны.
Пример:
sumPower(10); // Возвращает 385 (сумма квадратов чисел от 1 до 10)
sumPower(10, 3); // Возвращает 3025 (сумма кубов чисел от 1 до 10)
sumPower(10, 3, 5); // Возвращает 2925 (сумма кубов чисел от 5 до 10)