Open in App
Not now

# Sum of first n natural numbers

• Difficulty Level : Basic
• Last Updated : 05 Sep, 2022

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
Explanation:
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

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

## C++

 `/* 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

 `// 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

 `# 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#

 `// 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.`

## PHP

 ``

## Javascript

 ``

Output

`20`

Time Complexity: O(N), for traversing from 1 till N to calculate the required sum.
Auxiliary Space: O(1), as constant extra space is required.

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:

## C++

 `/* 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

 `// 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`

## Python3

 `# 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#

 `// 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.`

## PHP

 ``

## Javascript

 ``

Output

`20`

Time Complexity: O(1), as constant operations are being performed.
Auxiliary Space: O(1), as constant extra space is required.

My Personal Notes arrow_drop_up
Related Articles