218k views
0 votes
Give a recursive algorithm to compute the sum of the cubes of the first n positive integers. The input to the algorithm is a positive integer n. The output is ∑j=1nj3. The algorithm should be recursive, it should not compute the sum using a closed form expression or a loop.

1 Answer

1 vote

Answer:

def sum_cubes(n):

if n == 1:

return 1

else:

return n * n * n + sum_cubes(n-1)

print(sum_cubes(3))

Step-by-step explanation:

Create a function called sum_cubes that takes one parameter, n

If n is equal to 1, return 1. Otherwise, calculate the cube of n, and add it to the sum_cubes function with parameter n-1

If we want to calculate the cubes of the first 3 numbers:

sum_cubes(3) = 3*3*3 + sum_cubes(2)

sum_cubes(2) = 2*2*2 + sum_cubes(1)

sum_cubes(1) = 1

If you substitute the values from the bottom, you get 27+8+1 = 36

User Prakhar Agrawal
by
4.2k points