![]() |
VOOZH | about |
Given an integer n, Find the sum of series 13 + 23 + 33 + 43 + ... + n3 till n-th term.
Examples:
Input: n = 5
Output: 225
Explanation: 13 + 23 + 33 + 43 + 53 = 225Input: n = 7
Output: 784
Explanation: 13 + 23 + 33 + 43 + 53 + 63 + 73 = 784
Table of Content
Iterate from 1 to n and keep adding the cube of each number to a running sum. Finally, return the accumulated sum.
Dry run for n=5:
Final result = 225
225
Use the direct formula (n(n+1)/2)^2 to compute the sum without iteration.
👁 sum-of-cubesFor 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
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
225
Note: The expression (n*(n+1)/2)^2 may overflow before division for large n.
Rearrange the computation by performing division before multiplication to reduce intermediate values and minimize the risk of integer overflow.
Output:
225Time complexity: O(1)
Auxiliary Space: O(1)