# 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