# Sum of first n natural numbers

Given a positive integer n. The task is to find the sum of the sum of first n natural number.

Examples:

```Input : n = 3
Output : 10
Sum of first natural number: 1
Sum of first and second natural number: 1 + 2 = 3
Sum of first, second and third natural number = 1 + 2 + 3 = 6
Sum of sum of first three natural number = 1 + 3 + 6 = 10

Input : n = 2
Output : 4
```

## Recommended: Please try your approach on {IDE} first, before moving on to the solution.

A simple solution is to one by one add triangular numbers.

 `/* CPP program to find sum ` ` ``series 1, 3, 6, 10, 15, 21... ` `and then find its sum*/` `#include ` `using` `namespace` `std; ` ` `  `// Function to find the sum of series ` `int` `seriesSum(``int` `n) ` `{ ` `    ``int` `sum = 0; ` `    ``for` `(``int` `i=1; i<=n; i++) ` `       ``sum += i*(i+1)/2; ` `    ``return` `sum; ` `} ` ` `  `// Driver code ` `int` `main() ` `{ ` `    ``int` `n = 4; ` `    ``cout << seriesSum(n); ` `    ``return` `0; ` `} `

 `// Java program to find sum ` `// series 1, 3, 6, 10, 15, 21... ` `// and then find its sum*/ ` `import` `java.io.*; ` ` `  `class` `GFG { ` `         `  `    ``// Function to find the sum of series ` `    ``static` `int` `seriesSum(``int` `n) ` `    ``{ ` `        ``int` `sum = ``0``; ` `        ``for` `(``int` `i = ``1``; i <= n; i++) ` `        ``sum += i * (i + ``1``) / ``2``; ` `        ``return` `sum; ` `    ``} ` ` `  `    ``// Driver code ` `    ``public` `static` `void` `main (String[] args)  ` `    ``{ ` `        ``int` `n = ``4``; ` `        ``System.out.println(seriesSum(n)); ` `         `  `    ``} ` `} ` ` `  `// This article is contributed by vt_m `

 `# Python3 program to find sum ` `# series 1, 3, 6, 10, 15, 21... ` `# and then find its sum. ` ` `  `# Function to find the sum of series ` `def` `seriessum(n): ` `     `  `    ``sum` `=` `0` `    ``for` `i ``in` `range``(``1``, n ``+` `1``): ` `        ``sum` `+``=` `i ``*` `(i ``+` `1``) ``/` `2` `    ``return` `sum` `     `  `# Driver code ` `n ``=` `4` `print``(seriessum(n)) ` ` `  `# This code is Contributed by Azkia Anam. `

 `// C# program to find sum ` `// series 1, 3, 6, 10, 15, 21... ` `// and then find its sum*/ ` `using` `System; ` ` `  `class` `GFG { ` ` `  `    ``// Function to find the sum of series ` `    ``static` `int` `seriesSum(``int` `n) ` `    ``{ ` `        ``int` `sum = 0; ` `         `  `        ``for` `(``int` `i = 1; i <= n; i++) ` `            ``sum += i * (i + 1) / 2; ` `             `  `        ``return` `sum; ` `    ``} ` ` `  `    ``// Driver code ` `    ``public` `static` `void` `Main() ` `    ``{ ` `        ``int` `n = 4; ` `         `  `        ``Console.WriteLine(seriesSum(n)); ` `    ``} ` `} ` ` `  `// This article is contributed by vt_m. `

 ` `

Output:
```20
```

Time complexity : O(n)

An efficient solution is to use direct formula n(n+1)(n+2)/6

Mathematically, we need to find, Σ ((i * (i + 1))/2), where 1 <= i <= n
So, lets solve this summation,

```Sum = Σ ((i * (i + 1))/2), where 1 <= i <= n
= (1/2) * Σ (i * (i + 1))
= (1/2) * Σ (i2 + i)
= (1/2) * (Σ i2 + Σ i)

We know Σ i2 = n * (n + 1) * (2*n + 1) / 6 and
Σ i = n * ( n + 1) / 2.
Substituting the value, we get,
Sum = (1/2) * ((n * (n + 1) * (2*n + 1) / 6) + (n * ( n + 1) / 2))
= n * (n + 1)/2 [(2n + 1)/6 + 1/2]
= n * (n + 1) * (n + 2) / 6```

Below is the implementation of the above approach:

 `/* CPP program to find sum ` ` ``series 1, 3, 6, 10, 15, 21... ` `and then find its sum*/` `#include ` `using` `namespace` `std; ` ` `  `// Function to find the sum of series ` `int` `seriesSum(``int` `n) ` `{ ` `    ``return` `(n * (n + 1) * (n + 2)) / 6;  ` `} ` ` `  `// Driver code ` `int` `main() ` `{ ` `    ``int` `n = 4; ` `    ``cout << seriesSum(n); ` `    ``return` `0; ` `} `

 `// java program to find sum ` `// series 1, 3, 6, 10, 15, 21... ` `// and then find its sum ` `import` `java.io.*; ` ` `  `class` `GFG  ` `{ ` `    ``// Function to find the sum of series ` `    ``static` `int` `seriesSum(``int` `n) ` `    ``{ ` `        ``return` `(n * (n + ``1``) * (n + ``2``)) / ``6``;  ` `    ``} ` ` `  `   ``// Driver code ` `    ``public` `static` `void` `main (String[] args) { ` `         `  `        ``int` `n = ``4``; ` `        ``System.out.println( seriesSum(n)); ` `         `  `    ``} ` `} ` ` `  `// This article is contributed by vt_m `

 `# Python 3 program to find sum ` `# series 1, 3, 6, 10, 15, 21... ` `# and then find its sum*/ ` ` `  `# Function to find the sum of series ` `def` `seriesSum(n): ` ` `  `    ``return` `int``((n ``*` `(n ``+` `1``) ``*` `(n ``+` `2``)) ``/` `6``) ` ` `  ` `  `# Driver code ` `n ``=` `4` `print``(seriesSum(n)) ` ` `  `# This code is contributed by Smitha. `

 `// C# program to find sum ` `// series 1, 3, 6, 10, 15, 21... ` `// and then find its sum ` `using` `System; ` ` `  `class` `GFG { ` `     `  `    ``// Function to find the sum of series ` `    ``static` `int` `seriesSum(``int` `n) ` `    ``{ ` `        ``return` `(n * (n + 1) * (n + 2)) / 6; ` `    ``} ` ` `  `    ``// Driver code ` `    ``public` `static` `void` `Main() ` `    ``{ ` ` `  `        ``int` `n = 4; ` `         `  `        ``Console.WriteLine(seriesSum(n)); ` `    ``} ` `} ` ` `  `// This code is contributed by vt_m. `

 ` `

Output:
```20
```

Time complexity : O(1)

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.

Article Tags :
Practice Tags :