C program to find the sum of first n natural numbers

C program to find the sum of first n natural numbers:

In this post, we will learn how to find the sum of the first n natural numbers. The program will take the value of n as an input from the user and it will print the sum of the first n numbers.

We can solve this problem in different ways. We have to run one loop. We can use any loop we want to use.

Algorithm to use:

We will use the below algorithm to solve this program:

  • Take the value of n as an input from the user.
  • Initialize a sum variable as 0 to hold the final sum.
  • Run one loop from 1 to n and on each iteration of the loop, add it to the sum variable.
  • Once the loop will end, print the value of sum which is the final sum.

Method 1: C program with a for loop:

Let’s write the program with a for loop.

#include <stdio.h>

int getSum(int n)
{
    int sum = 0;
    for (int i = 1; i <= n; i++)
    {
        sum += i;
    }
    return sum;
}

int main()
{
    int n;

    printf("Enter the value value of n: ");
    scanf("%d", &n);

    printf("Sum of 1 to %d: %d\n", n, getSum(n));
}
  • This program asks the user to enter the value of n
  • It calls the method getSum to get the sum from 1 to n. It takes the value of n as the parameter.
  • The last line is printing the sum value.
Enter the value value of n: 5
Sum of 1 to 5: 15

Method 2: By using a while loop:

We can also use a while loop to write the above program.

#include <stdio.h>

int getSum(int n)
{
    int sum = 0, i = 1;
    while (i <= n)
    {
        sum += i;
        i++;
    }
    return sum;
}

int main()
{
    int n;

    printf("Enter the value value of n: ");
    scanf("%d", &n);

    printf("Sum of 1 to %d: %d\n", n, getSum(n));
}

Here, we replaced the for loop with a while loop. It works in a similar way. The difference is that it initialises the value of i before the loop starts and the value of i is incremented at the end of each iteration of the loop.

If you run this program, it will give a similar output.

Method 3: By using a do-while loop:

We can also use a do-while loop to write the same program. The while loop checks the condition and runs the code of its body. But, do-while loop runs the body and then it checks the condition.

#include <stdio.h>

int getSum(int n)
{
    int sum = 0, i = 1;
    do
    {
        sum += i;
        i++;
    } while (i < n + 1);
    return sum;
}

int main()
{
    int n;

    printf("Enter the value value of n: ");
    scanf("%d", &n);

    printf("Sum of 1 to %d: %d\n", n, getSum(n));
}

We will have to change the condition to i < n + 1 because the value of i is incremented by 1 at the end of each iteration and then the condition is checked.

Method 4: With mathematical formula:

There is a mathematical formula to calculate the sum of the first n numbers. This is:

n * (n + 1)/2

We don’t have to run a loop and it is faster than any other method mentioned above.

Let me write down the C program:

#include <stdio.h>

int getSum(int n)
{
    return n * (n + 1) / 2;
}

int main()
{
    int n;

    printf("Enter the value value of n: ");
    scanf("%d", &n);

    printf("Sum of 1 to %d: %d\n", n, getSum(n));
}

If you run it, it will give similar outputs.

C find sum n natural numbers

You might also like: