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
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 <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
// 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
<?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)
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 <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
// 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
<?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)
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.