## Sum of Cubes of First N Natural Numbers

To find the sum of cubes of first N natural numbers, read the value of N from user using input(), then iterate from 1 to N using a For Loop, find cube of each number, and accumulate it in a variable, say sum sum, over the iterations.

The sum of cubes of first N natural numbers is

`sum = 1`^{3} + 2^{3} + 3^{3} + . . . + n^{3}

If you are good in remembering formula or remembering that there is a formula, then the following will help you in finding the sum of cubes of first `n`

natural numbers.

`(n(n + 1)/2)`^{2}

We shall go through two of these methods in finding the sum of cubes of first n natural numbers using Python.

## 1. Program using For Loop

In the following program, we shall define a function `sumOfCubes()`

that takes `n`

as argument, use For Loop to compute the sum of cubes, and then return the sum.

We read `n`

from user, call `sumOfCubes()`

with the `n`

passed as argument.

**Input**

`n`

, where `n > 0`

**Python Program**

```
def sumOfCubes(n) :
if n < 0:
return
sum = 0
for i in range(n+1):
sum += pow(i, 3)
return sum
n = int(input('Enter n : '))
sum = sumOfCubes(n)
print(f'Sum : {sum}')
```

**Output**

```
Enter n : 4
Sum : 100
```

**Important Points regarding above program**

- input() function reads a string from standard input. Therefore, we have used int() function to convert string to integer.
- If given
`n`

is less than zero, we are returning nothing. - We used range(1, n+1) to iterate from 1 to n.
- pow(base, exponent) is used to compute the cube of a number.
`+=`

is Addition Assignment Operator.

## 2. Program using Formula

In the following program, we shall define a function `sumOfCubes()`

that takes `n`

as argument, uses the following formula to compute the sum of cubes, and then return the sum.

`(n(n + 1)/2)`^{2}

We read `n`

from user, call `sumOfCubes()`

with the `n`

passed as argument.

**Input**

`n`

, where `n > 0`

**Python Program**

```
def sumOfCubes(n) :
if n < 0:
return
sum = pow(n * (n + 1) / 2, 2)
return int(sum)
n = int(input('Enter n : '))
sum = sumOfCubes(n)
print(f'Sum : {sum}')
```

**Output**

```
Enter n : 4
Sum : 100
```

Since we have division operation in the formula, Python implicitly typecasts the value to floating-point number. We may convert the float to int using int() function.

## Related Tutorials

- Python – Check if Number is Armstrong
- How to Get Number of Axes in Pandas DataFrame?
- Python Program to Add Two Numbers
- Python – Largest of Three Numbers
- Reverse a Number in Python
- Python – Factorial of a Number
- Python – Sum of First N Natural Numbers
- Python String – Find the number of overlapping occurrences of a substring
- Numpy sqrt() – Find Square Root of Numbers
- How to Swap Two Numbers in Python?