How to write a C Program to Find Sum of series 1³+2³+3³+….+n³ using For Loop, Recursion, and Functions with example. This series 1³+2³+3³+….+n³ also called as Sum of cubes of n natural numbers in C. The Mathematical formula for C program to find Sum of series 1³+2³+3³+….+n³ = ( n (n+1) / 6)²

## C Program to Find Sum of series 1³+2³+3³+….+n³

In this C program, the user asked to enter any positive integer. Next, using that value, the C compiler will find the sum of series 1³+2³+3³+….+n³ with the above formula.

/* Sum of Cubes of n Natural Numbers */ #include <stdio.h> #include <math.h> int main() { int Number, Sum = 0; printf("\n Please Enter any positive integer \n"); scanf(" %d",&Number); Sum = pow(((Number * (Number + 1))/ 2), 2); printf("\n The Sum of Series for %d = %d ",Number, Sum); }

**OUTPUT**

**ANALYSIS**

First, we declared 2 integer variables, and they are Number and Sum. In the next line, We are calculating the Sum of the series 1³+2³+3³+4³+5³ using the above formula.

Sum = pow (((Number * (Number + 1)) / 2), 2);

Sum = pow (((5 * (5 + 1)) / 2), 2);

Sum = pow (((5 * 6) / 2), 2);

Sum = pow ((30 / 2), 2);

Sum = pow (15, 2);

Sum = 15 * 15 = 225

Final printf statement will print the Sum as output

printf("\n The Sum of Series for %d = %d ",Number, Sum);

So, the final output of the C Program to Find Sum of series 1³+2³+3³+….+n³ for 5 = 225

## C Program to Find Sum of series 1³+2³+3³+….+n³ using For Loop

If you want to display the series order 1³+2³+3³+4³ in the output, then we have to add extra For Loop to display as below

/* Sum of Cubes of n Natural Numbers */ #include <stdio.h> #include <math.h> int main() { int Number, i, Sum = 0; printf("\nPlease Enter any positive integer \n"); scanf("%d",&Number); Sum = pow(((Number * (Number + 1))/ 2), 2); for(i =1; i<=Number;i++) { if (i != Number) printf("%d^3 + ",i); else printf("%d^3 = %d ",i, Sum); } }

**OUTPUT**

**ANALYSIS**

The for loop inside the main function will traverse each member and displays the output

for(i =1; i<=Number;i++) { if (i != Number) printf(" %d^3 + ",i); else printf(" %d^3 = %d ",i, Sum); }

In the above screenshot, the user-entered value is 4, Sum = 100

Now the compiler will enter into for loop

**First Iteration**

i = 1 so the condition inside the for loop (i <= Number) is TRUE (1 <=4). Next, It will go to if condition (i != Number). It means (1 != 4) – Which is TRUE So, it will print the output as 1³+

i incremented to 2. It will do the same until i reaches 4. When it is equal 4, then if condition will fail so, the else statement is printed.

The final Output will be 1³+2³+3³+4³ = 100

## C Program to Find Sum of series 1³+2³+3³+….+n³ using Functions

This C program finds the sum of series 1³+2³+3³+….+n³ using FUNCTIONS.

/* Sum of Cubes of n Natural Numbers */ #include <stdio.h> #include <math.h> void Sum_Of_Series(int); int main() { int Number; printf("\n Please Enter any positive integer \n"); scanf("%d",&Number); Sum_Of_Series(Number); } void Sum_Of_Series(int Number) { int i, Sum = 0; Sum = pow (((Number * (Number + 1))/ 2), 2);; for(i =1;i<=Number;i++) { if (i != Number) printf("%d^3 + ",i); else printf(" %d^3 = %d ", i, Sum); } }

**OUTPUT**

**ANALYSIS**

void Sum_Of_Series(int);

The first line of the program is the declaration of User Defined Function

Within the main() function,

Next, we called the user-defined function Sum_Of_Series().

Sum_Of_Series(Number);

When the compiler reaches the Sum_Of_Series(), it will jump to the function definition for the calculations. We already explained the logic in the above example.

## C Program to Find Sum of series 1³+2³+3³+….+n³ using Recursion

This C program allows to enter the N value, and then it finds the s sum of series 1³+2³+3³+….+n³ using RECURSION

/* Sum of Cubes of n Natural Numbers */ #include <stdio.h> int Sum_Of_Series(int); int main() { int Number, Sum; printf("\nPlease Enter any positive integer \n"); scanf("%d",&Number); Sum =Sum_Of_Series(Number); printf("\nSum of the Series = %d",Sum); } int Sum_Of_Series(int Number) { if(Number == 0) return 0; else //Recursive Calling return (Number * Number * Number) + Sum_Of_Series(Number-1); }

**OUTPUT**

**ANALYSIS**

**Function Definition**

Within the Sum_Of_Series (Number) function, If the user entered Number is 0, then the function will return 0 else it will return

(Number * Number * Number) + Sum_Of_Series(Number-1);

Let us divide the above expression for better understanding

(Number * Number * Number) = Multiplying the number three times

Sum_Of_Series(Number – 1) = Calling the same function with 1 number minus

From the above output, User entered value is 3,

**Sum of series 1³+2³+3³+….+n³ Recursion 1**

Number = 3, which is Greater than 0 and Sum is 0, so

Sum = (Number * Number) + Sum_Of_Series(Number-1)

Sum = (3 * 3 * 3) + Sum_Of_Series (3 – 1)

Sum = 27 + Sum_Of_Series (2)

Sum value is = 27

**Recursion 2**

Number = 2, which is Greater than 0 and Sum is 27

Sum = (2 * 2 * 2) + Sum_Of_Series (2 – 1)

Sum = 8 + Sum_Of_Series (1)

Sum value is: 27 + 8 = 35

**Recursion 3**

Number = 1, which is Greater than 0 and Sum is 35 so,

Sum = (1 * 1 * 1) + Sum_Of_Series (1 – 1)

Sum = 1 + Sum_Of_Series (0)

Sum value is: 35 + 1 = 36

**Recursion 4**

Number = 0, which means the first if condition is True so that it will exit from the function. The final value of Sum is 36.

**NOTE: **We must use some conditions to exit the recursive calling. If you forgot, then the function will execute countless times.