Write a C program to find the sum of first n natural numbers.

**Natural numbers** are all positive integers ranging from 1 to n or infinity. **Sum of first n natural number**, for any number n, sum is defined as 1+2+3—-n, which is an arithmetic series whose sum is **(n * (n + 1))/2**. For **example**, If n=3, sum of the first 3 natural numbers is 1 + 2 + 3 = 6.

**Formula:**

Formula to calculate the Sum of First N Natural Numbers are **(n * (n + 1))/2**.

**Example:**

If n=4, sum of the first 4 natural numbers is

=> **(n * (n + 1))/2**

=> (4 * (4 + 1))/2

=> 20/2

=> 10

1. Take a number as input.

2. Find the sum of first n natural numbers using loops, function and formula.

3. Print the final result and exit.

Sum of First N Natural Numbers in C can be found out in following ways:

- Sum of First N Natural Numbers in C using For Loop
- Sum of First N Natural Numbers in C using While Loop
- Sum of First N Natural Numbers in C using Do While Loop
- Sum of First N Natural Numbers in C using Formula
- Sum of First N Natural Numbers in C using Recursion
- Sum of First N Natural Numbers in C using Function
- Sum of First N Natural Numbers in C using Arrays
- Sum of N Natural Numbers in a Given Range

In this approach, we find the sum of the first n natural number using a for loop and in each iteration, and add ‘i’ to the sum, where i is the variable which is used to initialize the loop and sum is the variable which stores the sum of n natural numbers.

**Example:**

Let n = 4

Initially sum = 0,

Iterate from i=1 to i=4 using a for loop, and in each iteration add i to sum.

So sum = 1+2+3+4 = 10.

**Algorithm:**

Step 1: Start the program.

Step 2: Input the value of n.

Step 3: Initialize a for loop from 1 to n.

Step 4: Print sum of first n natural numbers.

Step 5: End the Program.

Here is source code of the C program to calculate the sum of first N natural numbers using for loop. The C program is successfully compiled and run on a Linux system. The program output is also shown below.

`/*`

`* C program to find the sum of 'N' natural numbers using for loop`

`*/`

`#include <stdio.h>`

int main()

`{`

int n;

printf("Enter number:");

scanf("%d",&n);

int sum=0;

for(int i=1;i<=n;i++)

sum += i;

printf("sum of first %d numbers is: %d",n,sum);

return 0;

`}`

1. Input a number **n**

2. Initialize a loop from 1 to **n** using ‘i‘ and in each iteration add the value of ‘i‘ in the **sum** variable.

3. Print the **sum**.

**Time Complexity: O(n)**

In the above program, a loop is executed from 1 to n, so time complexity is O(n).

**Space Complexity: O(1)**

Since no auxiliary space is required, space complexity is O(1).

To find the sum of the first n natural numbers, we enter the value “4” as input.

Enter number: 4 sum of first 4 numbers is: 10

In this approach, we find the sum of the first n natural number using a while loop. Initially i=1, execute loop until i<=n and in each iteration add i to sum and increment i.

**Example:**

Let n = 5

Initially, sum = 0 and i = 1

Iterate until i<=5 using a while loop and in each iteration add i to sum.

So sum = 1+2+3+4+5=15

**Algorithm:**

Step 1: Start the program.

Step 2: Input the value of n.

Step 3: Initialize a variable i and run a while loop from 1 to n.

Step 4: Print sum of first n natural numbers.

Step 5: End the Program.

Here is source code of the C program to calculate the sum of first N natural numbers using while loop. The C program is successfully compiled and run on a Linux system. The program output is also shown below.

`/*`

`* C program to find the sum of 'N' natural numbers using while loop`

`*/`

`#include <stdio.h>`

int main()

`{`

int n;

printf("Enter number:");

scanf("%d",&n);

int sum=0,i=1;

while(i<=n)

sum += i++;

printf("sum of first %d numbers is: %d",n,sum);

return 0;

`}`

1. Input a number **n**

2. Initialize a variable **i=1** and **sum=0**.

3. After that iterate until **i** is less than **n** using a while loop and in each iteration add **i** to the **sum**.

4. After the loop is executed, print the **sum**.

**Time Complexity: O(n)**

In the above program, a loop is executed from 1 to n, so time complexity is O(n).

**Space Complexity: O(1)**

Since no auxiliary space is required, space complexity is O(1).

To find the sum of the first n natural numbers, we enter the value “5” as input.

Enter number: 5 sum of first 5 numbers is: 15

In this approach, we find the sum of the first n natural number using a do while loop. Initialize a variable i and run a Do while loop from 1 to n. After the loop is executed, sum contains the sum of first n natural numbers.

**Example:**

Let n=6

Initially, sum = 0 and i=1,

Iterate until i<=6 using a do while loop and in each iteration add i to sum.

So sum = 1+2+3+4+5+6=21

Here is source code of the C program to calculate the sum of first N natural numbers using do while loop. The C program is successfully compiled and run on a Linux system. The program output is also shown below.

`/*`

`* C program to find the sum of 'N' natural numbers using do while loop`

`*/`

`#include <stdio.h>`

int main()

`{`

int n;

printf("Enter number:");

scanf("%d",&n);

int sum=0,i=1;

`do`

`{`

sum += i++;

`}`

while(i<=n);

printf("sum of first %d numbers is: %d",n,sum);

return 0;

`}`

1. Input a number **n**

2. Initialize a variable **i=1** and **sum=0**.

3. After that iterate until **i** is less than **n** using a do while loop and in each iteration add **i** to the **sum**.

4. After the loop is executed, print the **sum**.

**Time Complexity: O(n)**

In the above program, a loop is executed from 1 to n, so time complexity is O(n).

**Space Complexity: O(1)**

Since no auxiliary space is required, space complexity is O(1).

To find the sum of the first n natural numbers, we enter the value “6” as input.

Enter number: 6 sum of first 6 numbers is: 21

For any integer n, the sum is 1+2+3 —— n. This corresponds to an arithmetic series whose sum is (**n *(n+1))/2**.

So in this approach, sum is calculated using the formula: **(n *(n+1))/2**.

**Example:**

If n=7, sum = (7 * (7 + 1))/2 = 56/2 = 28

If n=3, sum = (3 * (3 + 1))/2 = 12/2 = 6

Here is source code of the C program to calculate the sum of first N natural numbers using formula. The C program is successfully compiled and run on a Linux system. The program output is also shown below.

`/*`

`* C program to find the sum of 'N' natural numbers using formula`

`*/`

`#include <stdio.h>`

int main()

`{`

int n;

printf("Enter number:");

scanf("%d",&n);

int sum= ((n)*(n+1))/2;

printf("sum of first %d numbers is: %d",n,sum);

return 0;

`}`

1. Input a number **n**

2. Now calculate sum of first n natural numbers by using the formula (n * (n + 1))/2 and store it in a variable **sum**.

3. Print the value of **sum**.

**Time Complexity: O(1)**

In the above program, only basic input output operations are performed, so time complexity is O(1).

**Space Complexity: O(1)**

Since no auxiliary space is required, space complexity is O(1).

To find the sum of the first n natural numbers, we enter the value “7” as input.

Enter number: 7 sum of first 7 numbers is: 28

The prototype of the recursive function is: **int sum(int n)**.

Following is the function definition:

int sum(int n) { if(n==1) return 1; else return n + sum(n-1); }

**Example:**

Now let n=5; So function calls would be as follows.

sum(5) = 5 + sum(4) —— ——— ——— ——— ——— ——— 15 sum(4) = 4 + sum(3) ——— ——— ————— —— 10 sum (3) = 3 + sum(2) ——— ——— —- 6 sum(2) = 2 + sum(1) ——— 3 sum(1) = 1 // Base Case

**Algorithm:**

Step 1: Start the program.

Step 2: Input the value of n.

Step 3: Declare a function func to find sum.

- Base case: When
**n=1**,return 1 - Other cases: return
**n + func(n-1)**

Step 4: Print the value of sum as returned by the func.

Step 5: End the Program

Here is source code of the C program to calculate the sum of first N natural numbers using recursion. The C program is successfully compiled and run on a Linux system. The program output is also shown below.

`/*`

`* C program to find the sum of 'N' natural numbers using Recursion.`

`*/`

`#include <stdio.h>`

int sum(int n)

`{`

`//Base Case`

if(n==1)

return 1;

return n + sum(n-1);

`}`

int main()

`{`

int n;

printf("Enter number: ");

scanf("%d",&n);

printf("Sum of first %d natural number is: %d",n,sum(n));

return 0;

`}`

1. Input a number **n**

2. Declare a function **sum** which takes ‘**n**‘ as the parameter with base condition to stop when **n** is equal to 1.

3. Print the value returned by function as the **sum**.

**Time Complexity: O(n)**

The program above has n function calls, so the time complexity is O(n).

**Space Complexity: O(1)**

Since no auxiliary space is required, space complexity is O(1).

To find the sum of the first n natural numbers, we enter the value “5” as input.

Enter number: 5 sum of first 5 numbers is: 15

The prototype of the recursive function is: **int sum_n(int n)**. It takes n as the parameter and returns the sum of first n natural numbers.

**Algorithm:**

Step 1: Start the program.

Step 2: Input the value of n.

Step 3: Declare a function func to find sum.

Step 4: Print the value of sum as returned by the func.

Step 5: End the Program.

Here is source code of the C program to calculate the sum of first N natural numbers using function. The C program is successfully compiled and run on a Linux system. The program output is also shown below.

`/*`

`* C program to find the sum of 'N' natural numbers using function.`

`*/`

`#include <stdio.h>`

int sum_n(int n)

`{`

int s=0;

for(int i=1;i<=n;i++)

s+=i;

return s;

`}`

int main()

`{`

int n;

printf("Enter n:");

scanf("%d",&n);

printf("sum of first %d numbers is: %d",n,sum_n(n));

return 0;

`}`

1. Input a number **n**

2. Declare a function **sum** which takes ‘**n**‘ and return the sum of first n natural numbers.

3. Print the value returned by function **sum**.

**Time Complexity: O(n)**

The program above has n function calls, so the time complexity is O(n).

**Space Complexity: O(1)**

Since no auxiliary space is required, space complexity is O(1).

To find the sum of the first n natural numbers, we enter the value “120” as input.

Enter number: 15 sum of first 15 numbers is: 120

In this approach, we store the natural numbers in an array then find the sum of the array which is equal the sum of first n natural numbers.

**Example:**

If n=5;

So array of first 5 natural number is: [1,2,3,4,5]

Sum of array = 1+2+3+4+5=15;

Sum of first 5 natural numbers=sum of array=15

Here is source code of the C program to calculate the sum of first N natural numbers using array. The C program is successfully compiled and run on a Linux system. The program output is also shown below.

`/*`

`* C program to find the sum of 'N' natural numbers using array.`

`*/`

`#include <stdio.h>`

int main()

`{`

int n;

printf("Enter number:");

scanf("%d",&n);

int arr[n];

`// Store n natural numbers in an array`

for(int i=0;i<n;i++)

arr[i] = i +1 ;

int sum=0;

for(int i=0;i<n;i++)

sum+=arr[i];

printf("sum of first %d numbers is: %d",n,sum);

return 0;

`}`

1. Input a number **n**

2. Store first n natural numbers in an **array**.

3. Find the sum of the **array** and store it in **sum**.

4. Print the value of **sum**.

**Time Complexity: O(n)**

In the above program, loop is executed from 1 to n, so time complexity is O(n).

**Space Complexity: O(1)**

Since no auxiliary space is required, space complexity is O(1).

To find the sum of the first n natural numbers, we enter the value “5” as input.

Enter number: 5 sum of first 5 numbers is: 15

In this approach we traverse between the intervals using the iterative statement to find the sum of natural numbers in the interval.

**Example:**

Let low = 2; high = 9;

So sum = 2+3+4+5+6+7+8+9 (from low to high)

sum = 44.

Here is source code of the C program to calculate the sum of N natural numbers in a Given Range. The C program is successfully compiled and run on a Linux system. The program output is also shown below.

`/*`

`* C program to find the sum of 'N' natural numbers in a Given Range.`

`*/`

`#include <stdio.h>`

int main()

`{`

int l,r;

printf("Enter ends of interval to find sum:");

scanf("%d %d",&l,&r);

int sum=0;

for(int i=l;i<=r;i++)

sum +=i;

printf("Sum is: %d",sum);

return 0;

`}`

1. Input the two ends of the interval i.e high and low.

2. Initialize **sum = 0** and initiate a loop from low to high using **i**.

3. Add **i** to sum in each iteration.

4. Then Print the **sum** variable.

**Time Complexity: O(n)**

In the above program, since there is a loop executed from low to high, the time complexity is linear.

**Space Complexity: O(1)**

Since no auxiliary space is required, space complexity is O(1).

To find the sum of n natural numbers in a given range, we enter the values low = “2” and high = “9” as input.

Enter ends of interval to find sum:2 9 Sum is: 44

To practice programs on every topic in C, please visit “Programming Examples in C”, “Data Structures in C” and “Algorithms in C”.

**If you find any mistake above, kindly email to [email protected]**

**Related Posts:**

- Practice Computer Science MCQs
- Watch Advanced C Programming Videos
- Apply for C Internship
- Apply for Computer Science Internship
- Practice BCA MCQs