Solve the Triangle of Odd Numbers Using Python


The challenge

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 (starting at index 1) e.g.:

row_sum_odd_numbers(1); # 1
row_sum_odd_numbers(2); # 3 + 5 = 8

Test cases

Test.assert_equals(row_sum_odd_numbers(1), 1)
Test.assert_equals(row_sum_odd_numbers(2), 8)
Test.assert_equals(row_sum_odd_numbers(13), 2197)
Test.assert_equals(row_sum_odd_numbers(19), 6859)
Test.assert_equals(row_sum_odd_numbers(41), 68921)

The solution in code

While there are many ways to achieve this, the absolute most simple is to realise that the solution is just a n^3.

def row_sum_odd_numbers(n):
    return n*n*n

Another way is to do it the more Pythonic way:

def row_sum_odd_numbers(n):
    return n ** 3