# C Program: Sum of First N Natural Numbers

In this tutorial, we will be writing C programs to find the sum of first $n$ natural numbers, i.e., $1 + 2 + 3 + 4 + ... + n$.

In our first program below, we make use of the `for`

loop to repeatedly add the consecutive terms to get the desired sum. Also, as there will not be any negative values involving here, we define the required variables as of `unsigned`

types.

` ````
#include <stdio.h>
int main() {
unsigned short int i, n;
unsigned long int sum = 0;
printf("Enter a natural number: ");
scanf("%hu", &n);
for(i = 1; i <= n; i++) {
sum += i;
}
printf("The sum of first %hu natural numbers is %lu", n, sum);
return 0;
}
```

We can also get the above sum using any of the `while`

or `do-while`

loops.

# Using the Formula $\frac{n(n+1)}{2}$

But there exists a much better way to get that sum without using any loops. We will make use of the well-known formula that we learned in our basic Sequences/Series lessons involving Arithmetic Progression: $1 + 2 + 3 + 4 + ... + n$ = $\frac{n(n+1)}{2}$

The above formula is connected to a well-known legend about the childhood of Carl Friedrich Gauss (also known as "Princeps Mathematicorum"), where he added the numbers from 1 upto 100 in a matter of seconds.

The C program below makes use of the $\frac{n(n+1)}{2}$ formula instead of adding terms repeatedly using loops.

` ````
#include <stdio.h>
int main() {
unsigned short int n;
unsigned long int sum = 0;
printf("Enter a natural number: ");
scanf("%hu", &n);
sum = n*(n+1)/2;
printf("The sum of first %hu natural numbers is %lu", n, sum);
return 0;
}
```