-
-
Save manjeettahkur/131bb6bf2d3fe51c1add to your computer and use it in GitHub Desktop.
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 | |
} |
was it that simple? this is what i did: :D
def row_sum_odd_numbers(n):
firstNum = (n*(n-1))+1
list = [firstNum]
for x in range(n-1):
list.append(firstNum+2)
firstNum+=2
return sum(list)
def row_sum_odd_numbers(n):
return n **3
thank you
Wow, thank you I never thought about it like that. You needed to have seen me think hard about the possible logic.
Thanks :)
I have a question: how do people come up with these solutions?
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.
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;
There is no possibility for regular developer to come up with it. It went from famous Italian mathematician who spent a lot of time to come up with similar things) And I think he had a lot of free time in that years)
Thanks for safe my time)