Last active
February 10, 2024 08:20
-
-
Save manjeettahkur/131bb6bf2d3fe51c1add to your computer and use it in GitHub Desktop.
Given the triangle of consecutive odd numbers
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Description: | |
Given the triangle of consecutive odd numbers: | |
1 | |
3 5 | |
7 9 11 | |
13 15 17 19 | |
21 23 25 27 29 | |
... | |
function rowSumOddNumbers(n) { | |
return Math.pow(n, 3); | |
} | |
function rowSumOddNumbers(n) { | |
return n*n*n | |
} |
Nice kata thanks @AceTheCreator for the explanation, I might have never discovered the algorithm. It is 2 lines in SQL
select n*n*n "res" from nums ;
or in one line using javascript:
const rowSumOddNumbers = n => n ** 3;
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Here is what i found on this topic:
sum of consequent M numbers is (M+1)M/2, so we may know how many numbers were below our ROW:
numbersBelow = ((n-1)(n))/2.
Now we may calculate first number in row:
firstNumberInRow = 2numbersBelow+1.
So, firstNumberInRow = nn-n+1 and last number in ROW is nn-n+1 + 2(n-1). Let assume that last number before row is x1 and last number in row is x2. It's known that 1+3+5+...+(2k-1) = kk. Sum in row must be x2x2 - x1x1. OUR x1 = (nn-n)/2 and x2 = (nn+n)/2. After some simplification: SUM = nn*n.