# Python Program for cube sum of first n natural numbers

Write a Python program to print the sum of series 13 + 23 + 33 + 43 + …….+ n3 till the n-th term.

Examples:

Input: n = 5
Output: 225
Explanation: 13 + 23 + 33 + 43 + 53 = 225

Input: n = 7
Output: 784
Explanation: 13 + 23 + 33 + 43 + 53 + 63 + 73 = 784

## Python Program for cube sum of first n natural numbers using Naive Approach:

• Define the function sumOfCubes() which takes an integer input n.
• Declare and initialize a variable sum to 0.
• Start a loop with i ranging from 1 to n.
• For each iteration of the loop, calculate the cube of i and add it to sum.
• After the loop ends, return the value of sum.

Below is the implementation of the above approach:

## Python3

 `# Simple Python program to find sum of series` `# with cubes of first n natural numbers`   `# Returns the sum of series ` `def` `sumOfSeries(n):` `    ``sum` `=` `0` `    ``for` `i ``in` `range``(``1``, n ``+` `1``):` `        ``sum` `+``=` `i ``*` `i``*``i` `        `  `    ``return` `sum`     `# Driver Function` `n ``=` `5` `print``(sumOfSeries(n))`   `# Code Contributed by Mohit Gupta_OMG <(0_o)>`

Time complexity: O(n), where n is the input value.
Auxiliary space: O(1),

## Python Program for cube sum of first n natural numbers using Mathematical Formula:

An efficient solution is to use direct mathematical formula which is (n ( n + 1 ) / 2) ^ 2.

### How does this formula work?

We can prove the formula using mathematical induction. We can easily see that the formula holds true for n = 1 and n = 2. Let this be true for n = k-1.

Let the formula be true for n = k-1.
Sum of first (k-1) natural numbers =
[((k – 1) * k)/2]2

Sum of first k natural numbers =
= Sum of (k-1) numbers + k3
= [((k – 1) * k)/2]2 + k3
= [k2(k2 – 2k + 1) + 4k3]/4
= [k4 + 2k3 + k2]/4
= k2(k2 + 2k + 1)/4
= [k*(k+1)/2]2

Illustration:

For n = 5 sum by formula is
(5*(5 + 1 ) / 2)) ^ 2
= (5*6/2) ^ 2
= (15) ^ 2
= 225

For n = 7, sum by formula is
(7*(7 + 1 ) / 2)) ^ 2
= (7*8/2) ^ 2
= (28) ^ 2
= 784

Below is the implementation of the above approach:

## Python3

 `# A formula based Python program to find sum` `# of series with cubes of first n natural ` `# numbers`   `# Returns the sum of series ` `def` `sumOfSeries(n):` `    ``x ``=` `(n ``*` `(n ``+` `1``) ``/` `2``)` `    ``return` `(``int``)(x ``*` `x)`       `# Driver Function` `n ``=` `5` `print``(sumOfSeries(n))`   `# Code Contributed by Mohit Gupta_OMG <(0_o)>`

Time Complexity : O(1)
Auxiliary Space : O(1) because constant space has been used.

The above program causes overflow, even if result is not beyond integer limit. Like previous post, we can avoid overflow upto some extent by doing division first.

Below is the implementation of the above approach:

## Python3

 `# Efficient Python program to find sum of cubes ` `# of first n natural numbers that avoids ` `# overflow if result is going to be with in ` `# limits.`   `# Returns the sum of series ` `def` `sumOfSeries(n):` `    ``x ``=` `0` `    ``if` `n ``%` `2` `=``=` `0` `: ` `        ``x ``=` `(n ``/` `2``) ``*` `(n ``+` `1``)` `    ``else``:` `        ``x ``=` `((n ``+` `1``) ``/` `2``) ``*` `n` `        `  `    ``return` `(``int``)(x ``*` `x)`     `# Driver Function` `n ``=` `5` `print``(sumOfSeries(n))`   `# Code Contributed by Mohit Gupta_OMG <(0_o)>`

Output

```225

```

Time complexity: O(1) since performing constant operations
Auxiliary Space: O(1)

## Short Hand for finding the cube sum of first n natural numbers using Enumerate List

In this approach, we will use the enumerate list to find the cube sum of n natural numbers in one line.

Below is the implementation of the above approach:-

## Python

 `n ``=` `10` `result ``=` `sum``([(i``+``1``) ``*``*` `3` `for` `i, _ ``in` `enumerate``(``range``(n))])` `print``(result)`

Output

```3025
```

Time Complexity: O(n)

Auxiliary Space: O(1)
Please refer complete article on Program for cube sum of first n natural numbers for more details!

Feeling lost in the world of random DSA topics, wasting time without progress? It's time for a change! Join our DSA course, where we'll guide you on an exciting journey to master DSA efficiently and on schedule.
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 geeks!

Previous
Next