Given a number n, find the sum of the first natural numbers.
Examples :
Input: n = 3
Output: 6
Explanation:
Note that 1 + 2 + 3 = 6
Input : 5
Output : 15
Explanation :
Note that 1 + 2 + 3 + 4 + 5 = 15
Program to Find the Sum of First N Natural Numbers
A simple solution is to do the following.
1) Initialize : sum = 0
2) Run a loop from x = 1 to n and
do following in loop.
sum = sum + x
C
#include <stdio.h>
int findSum( int n)
{
int sum = 0;
for ( int x = 1; x <= n; x++)
sum = sum + x;
return sum;
}
int main()
{
int n = 5;
printf ( "%d" , findSum(n));
return 0;
}
|
C++
#include <iostream>
using namespace std;
int findSum( int n)
{
int sum = 0;
for ( int x = 1; x <= n; x++)
sum = sum + x;
return sum;
}
int main()
{
int n = 5;
cout << findSum(n);
return 0;
}
|
Java
import java.io.*;
class GFG{
static int findSum( int n)
{
int sum = 0 ;
for ( int x = 1 ; x <= n; x++)
sum = sum + x;
return sum;
}
public static void main(String args[])
{
int n = 5 ;
System.out.println(findSum(n));
}
}
|
Python3
def findSum(n):
sum = 0
x = 1
while x < = n:
sum = sum + x
x = x + 1
return sum
n = 5
print findSum(n)
|
C#
using System;
class GFG{
static int findSum( int n)
{
int sum = 0;
for ( int x = 1; x <= n; x++)
sum = sum + x;
return sum;
}
public static void Main()
{
int n = 5;
Console.Write(findSum(n));
}
}
|
PHP
<?php
function findSum( $n )
{
$sum = 0;
for ( $x = 1; $x <= $n ; $x ++)
$sum = $sum + $x ;
return $sum ;
}
$n = 5;
echo findSum( $n );
?>
|
Javascript
<script>
function findSum(n)
{
let sum = 0;
for (let x = 1; x <= n; x++)
sum = sum + x;
return sum;
}
let n = 5;
document.write(findSum(n));
</script>
|
Time Complexity: O(n)
Auxiliary Space: O(1)
Optimized solution to find Sum of n Natural Numbers in Python
An efficient solution is to use the below formula.

How does this work?
We can prove this formula using induction.
It is true for n = 1 and n = 2
For n = 1, sum = 1 * (1 + 1)/2 = 1
For n = 2, sum = 2 * (2 + 1)/2 = 3
Let it be true for k = n-1.
Sum of k numbers = (k * (k+1))/2
Putting k = n-1, we get
Sum of k numbers = ((n-1) * (n-1+1))/2
= (n - 1) * n / 2
If we add n, we get,
Sum of n numbers = n + (n - 1) * n / 2
= (2n + n2 - n)/2
= n * (n + 1)/2
C
#include<stdio.h>
int findSum( int n)
{
return n * (n + 1) / 2;
}
int main()
{
int n = 5;
printf ( "%d" , findSum(n));
return 0;
}
|
C++
#include<iostream>
using namespace std;
int findSum( int n)
{
return n * (n + 1) / 2;
}
int main()
{
int n = 5;
cout << findSum(n);
return 0;
}
|
Java
import java.io.*;
class GFG{
static int findSum( int n)
{
return n * (n + 1 ) / 2 ;
}
public static void main(String args[])
{
int n = 5 ;
System.out.println(findSum(n));
}
}
|
Python3
def findSum(n) :
return n * (n + 1 ) / 2
n = 5
print findSum(n)
|
C#
using System;
class GFG{
static int findSum( int n)
{
return n * (n + 1) / 2;
}
public static void Main()
{
int n = 5;
Console.Write(findSum(n));
}
}
|
php
<?php
function findSum( $n )
{
return ( $n * ( $n + 1) / 2);
}
$n = 5;
echo findSum( $n );
?>
|
Javascript
<script>
function findSum(n)
{
return n * (n + 1) / 2;
}
var n = 5;
document.write(findSum(n));
</script>
|
Time Complexity: O(1)
Auxiliary Space: O(1)
The above program causes overflow, even if the result is not beyond the integer limit. We can avoid overflow up to some extent by dividing first.
C
#include<stdio.h>
int findSum( int n)
{
if (n % 2 == 0)
return (n / 2) * 1LL * (n + 1);
else
return ((n + 1) / 2) * 1LL * n;
}
int main()
{
int n = 5;
printf ( "%d" , findSum(n));
return 0;
}
|
C++
#include<iostream>
using namespace std;
int findSum( int n)
{
if (n % 2 == 0)
return (n / 2) * 1LL * (n + 1);
else
return ((n + 1) / 2) * 1LL * n;
}
int main()
{
int n = 5;
cout << findSum(n);
return 0;
}
|
Java
import java.io.*;
class GFG{
static int findSum( int n)
{
if (n % 2 == 0 )
return (n / 2 ) * (n + 1 );
else
return ((n + 1 ) / 2 ) * n;
}
public static void main(String args[])
{
int n = 5 ;
System.out.println(findSum(n));
}
}
|
Python3
def findSum(n):
if (n % 2 = = 0 ):
return (n / 2 ) * (n + 1 )
else :
return ((n + 1 ) / 2 ) * n
n = 5
print findSum(n)
|
C#
using System;
class GFG{
static int findSum( int n)
{
if (n % 2 == 0)
return (n / 2) * (n + 1);
else
return ((n + 1) / 2) * n;
}
public static void Main()
{
int n = 5;
Console.Write(findSum(n));
}
}
|
PHP
<?php
function findSum( $n )
{
if ( $n % 2 == 0)
return ( $n / 2) *
( $n + 1);
else
return (( $n + 1) / 2) * $n ;
}
$n = 5;
echo findSum( $n );
?>
|
Javascript
<script>
function findSum(n)
{
if (n % 2 == 0)
return (n / 2) * (n + 1)
else
return ((n + 1) / 2) * n
}
var n = 5;
document.write(findSum(n));
</script>
|
Time Complexity: O(1)
Auxiliary Space: O(1)