Skip to content

Instantly share code, notes, and snippets.

@manjeettahkur
Last active February 10, 2024 08:20
Show Gist options
  • Save manjeettahkur/131bb6bf2d3fe51c1add to your computer and use it in GitHub Desktop.
Save manjeettahkur/131bb6bf2d3fe51c1add to your computer and use it in GitHub Desktop.
Given the triangle of consecutive odd numbers
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
}
@AnatoliyOstapenko
Copy link

AnatoliyOstapenko commented Sep 6, 2022

Thanks :)

I have a question: how do people come up with these solutions?

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)

@salihefee
Copy link

salihefee commented Oct 15, 2022

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)

@GodfredAsa
Copy link

GodfredAsa commented Jan 17, 2023

def row_sum_odd_numbers(n):
return n **3

@George-Gichuru
Copy link

thank you

@WaleBnji
Copy link

Wow, thank you I never thought about it like that. You needed to have seen me think hard about the possible logic.

@euulu
Copy link

euulu commented Aug 28, 2023

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 = 2
numbersBelow+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.

@Xlizer1
Copy link

Xlizer1 commented Feb 10, 2024

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