Problem
- Given the triangle of consecutive odd numbers:
1
3 5
7 9 11
13 15 17 19
21 23 25 27 29
...
- Calculate the row sums of this triangle from the row index.
Solution 01
function rowSumOdd(n) {
let start = n * (n - 1) + 1;
let sum = 0;
for (let i = 0; i < n; i++) {
sum += start + (i * 2);
}
return sum;
}
rowSumOdd(1); // 1
rowSumOdd(2); // 8
rowSumOdd(3); // 27
rowSumOdd(42); // 74088
Solution 02
function rowSumOdd(n) {
let start = n * n - n + 1;
let sum = 0;
for (let i = 0; i < n; i++) {
sum += start + (i * 2);
}
return sum;
}
rowSumOdd(1); // 1
rowSumOdd(2); // 8
rowSumOdd(3); // 27
rowSumOdd(42); // 74088
Solution 03
function rowSumOdd(n) {
return n * n * n;
}
rowSumOdd(1); // 1
rowSumOdd(2); // 8
rowSumOdd(3); // 27
rowSumOdd(42); // 74088
Solution 04
function rowSumOdd(n) {
return Math.pow(n, 3);
}
rowSumOdd(1); // 1
rowSumOdd(2); // 8
rowSumOdd(3); // 27
rowSumOdd(42); // 74088
Math.pow(x, y)
: x의 값을 y의 거듭제곱(x^y)으로 반환한다.