Returns the sum of the powers of all the numbers from start
to end
(both inclusive).
Use Array.prototype.fill()
to create an array of all the numbers in the target range, Array.prototype.map()
and the exponent operator (**
) to raise them to power
and Array.prototype.reduce()
to add them together.
Omit the second argument, power
, to use a default power of 2
.
Omit the third argument, start
, to use a default starting value of 1
.
代码片段
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(10); // 385
sumPower(10, 3); // 3025
sumPower(10, 3, 5); // 2925