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 = 10Input: n = 2
Output: 4
Sum of Natural Numbers is represented by Triangular Numbers. 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 <iostream>
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));
}
}
//
<script>
// javascript program to find sum
// series 1, 3, 6, 10, 15, 21...
// and then find its sum*/
// Function to find the sum of series
function seriesSum(n) {
var sum = 0;
for (i = 1; i <= n; i++)
sum += i * ((i + 1) / 2);
return sum;
}
// Driver code
var n = 4;
document.write(seriesSum(n));
// This code contributed by Rajput-Ji
</script>
<?php
// PHP program to find sum
// series 1, 3, 6, 10, 15, 21...
// and then find its sum
// Function to find
// the sum of series
function seriesSum($n)
{
$sum = 0;
for ($i = 1; $i <= $n; $i++)
$sum += $i * ($i + 1) / 2;
return $sum;
}
// Driver code
$n = 4;
echo(seriesSum($n));
// This code is contributed by Ajit.
?>
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, Sum(((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 <iostream>
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.
<script>
// javascript program to find sum
// series 1, 3, 6, 10, 15, 21...
// and then find its sum
// Function to find the sum of series
function seriesSum(n)
{
return (n * (n + 1) * (n + 2)) / 6;
}
// Driver code
var n = 4;
document.write( seriesSum(n));
// This code is contributed by shikhasingrajput
</script>
<?php
// PHP program to find sum
// series 1, 3, 6, 10, 15, 21...
// and then find its sum
// Function to find
// the sum of series
function seriesSum($n)
{
return ($n * ($n + 1) *
($n + 2)) / 6;
}
// Driver code
$n = 4;
echo(seriesSum($n));
// This code is contributed by Ajit.
?>
Output
20
Time Complexity: O(1), as constant operations are being performed.
Auxiliary Space: O(1), as constant extra space is required.