Sum of sum-series of first N Natural numbers

Given a natural number n, find the sum of sum-series of first N natural number.

Sum-Series: is sum of first N natural numbers, i.e, sum-series of 5 is 15 ( 1 + 2 + 3 + 4 + 5 ).

Natural number 1 2 3 4 5 6
Sum of natural number (sum-series) 1 3 6 10 15 21
Sum of sum-series 1 4 10 20 35 56

Example:

Input: N = 5
Output: 35
Explanation:
Sum of sum-series of {1, 2, 3, 4, 5} i.e. {1 + 3 + 6 + 10 + 15} is 35.

Input: N = 2
Output: 4
Explanation:
Sum of sum-series of {1, 2} i.e. {1 + 3} is 4.



Simple approach:
Find sum-series for every value from 1 to N and then add it.

  • Create a variable Total_sum to store the required sum series.
  • Iterate over number from 1 to N
  • Find sum-series of every value by using the formulae sum = (N*(N + 1)) / 2
  • Add the value to Total_sum

At the end, print the value stored in Total_sum.

C++

filter_none

edit
close

play_arrow

link
brightness_4
code

// C++ program to implement
// the above approach
#include<bits/stdc++.h>
using namespace std;
  
// Function to find the sum
static long sumOfSumSeries(int N)
{
    long sum = 0L;
  
    // Calculate sum-series
    // for every natural number
    // and add them
    for (int i = 1; i <= N; i++) 
    {
        sum = sum + (i * (i + 1)) / 2;
    }
  
    return sum;
}
  
// Driver code
int main()
{
    int N = 5;
    cout << sumOfSumSeries(N);
}
  
// This code is contributed by Code_Mech

chevron_right


Java

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java program to implement
// the above approach
  
class GFG {
  
    // Function to find the sum
    static long sumOfSumSeries(int N)
    {
  
        long sum = 0L;
  
        // Calculate sum-series
        // for every natural number
        // and add them
        for (int i = 1; i <= N; i++) {
            sum = sum + (i * (i + 1)) / 2;
        }
  
        return sum;
    }
  
    // Driver code
    public static void main(String[] args)
    {
        int N = 5;
        System.out.println(sumOfSumSeries(N));
    }
}

chevron_right


Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python3 program to implement 
# the above approach 
  
# Function to find the sum 
def sumOfSumSeries(N): 
  
    _sum = 0
  
    # Calculate sum-series 
    # for every natural number 
    # and add them 
    for i in range(N + 1): 
        _sum = _sum + (i * (i + 1)) // 2
  
    return _sum 
  
# Driver code 
N = 5
  
print(sumOfSumSeries(N)) 
      
# This code is contributed by divyamohan123 

chevron_right


C#

filter_none

edit
close

play_arrow

link
brightness_4
code

// C# program to implement
// the above approach
using System;
class GFG{
  
// Function to find the sum
static long sumOfSumSeries(int N)
{
    long sum = 0L;
  
    // Calculate sum-series
    // for every natural number
    // and add them
    for(int i = 1; i <= N; i++) 
    {
       sum = sum + (i * (i + 1)) / 2;
    }
      
    return sum;
}
  
// Driver code
public static void Main()
{
    int N = 5;
      
    Console.Write(sumOfSumSeries(N));
}
}
  
// This code is contributed by Nidhi_Biet

chevron_right


Output:

35

Time complexity: O(N)

Efficient approach:
Total_sum of above series can be calculated directly by using below formulae:

\text{Total sum} = \frac{(N*(N+1)*(N+2))}{6}
where N is the natural number

Proof of above formula:

Lets assume N = 5



  1. Then sum is sum of all below elements in table, lets call this “result
    1        
    1 2      
    1 2 3    
    1 2 3 4  
    1 2 3 4 5
  2. lets populate the empty cells with same value in other columns, lets call this “totalSum

    1 2 3 4 5
    1 2 3 4 5
    1 2 3 4 5
    1 2 3 4 5
    1 2 3 4 5
  3. As sum of N numbers is repeated N times
    totalSum = N * [(N*(N + 1))/2]

    populated data = (1 times * 2) + (2 times * 3) + (3 times * 4) + (4 times * 5)
    = 1*2 + 2*3 + 3*4 ……… +(N-1)*N
    =[(N-1) * (N) * (N+1)]/3

  4. Since,

    result = totalSum – populatedData
    = N * [(N*(N+1))/2] – [(N-1) * (N) * (N+1)]/3
    = (N*(N+1)*(N+2))/6

  5. Therefore
    \text{Sum of Sum-Series till N} = \frac{(N*(N+1)*(N+2))}{6}

Below is the implementation of the above approach:

C++

filter_none

edit
close

play_arrow

link
brightness_4
code

// C++ program to implement
// the above approach
#include <iostream>
#include <math.h>
using namespace std;
  
// Function to find the sum
long sumOfSumSeries(int n)
{
    return (n * (n + 1) * (n + 2)) / 6;
}
  
// Driver code
int main ()
{
    int N = 5;
    cout << sumOfSumSeries(N);
    return 0;
}
  
// This code is contributed
// by shivanisinghss2110

chevron_right


Java

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java program to implement
// the above approach
  
class GFG {
  
    // Function to find the sum
    static long sumOfSumSeries(int n)
    {
        return (n * (n + 1) * (n + 2)) / 6;
    }
  
    // Driver code
    public static void main(String[] args)
    {
        int N = 5;
        System.out.println(sumOfSumSeries(N));
    }
}

chevron_right


Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python3 program to implement 
# the above approach
  
# Function to find the sum 
def sumOfSumSeries(n): 
      
    return (n * (n + 1) * (n + 2)) // 6
  
# Driver code 
N = 5
  
print(sumOfSumSeries(N))
  
# This code is contributed by divyamohan123 

chevron_right


C#

filter_none

edit
close

play_arrow

link
brightness_4
code

// C# program to implement the 
// above approach
using System;
class GFG{
  
// Function to find the sum
static long sumOfSumSeries(int n)
{
    return (n * (n + 1) * (n + 2)) / 6;
}
  
// Driver code
public static void Main(String[] args)
{
    int N = 5;
      
    Console.Write(sumOfSumSeries(N));
}
}
  
// This code is contributed by Ritik Bansal

chevron_right


Output:

35

Time complexity O(1) considering multiplication, addition & division take constant time.

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.




My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.