Open In App

Sum of sum-series of first N Natural numbers

Improve
Improve
Like Article
Like
Save
Share
Report

Given a natural number n, find the sum of the sum-series of the 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 number123456
Sum of natural number (sum-series)136101521
Sum of sum-series1410203556

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:
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 the 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
  • In the end, print the value stored in Total_sum

Below is the implementation of the above approach:

C++

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

                    

Java

// 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));
    }
}

                    

Python3

# 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

                    

C#

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

                    

Javascript

<script>
 
    // Javascript program to implement
    // the above approach
     
    // Function to find the sum
    function sumOfSumSeries(N)
    {
        let sum = 0;
 
        // Calculate sum-series
        // for every natural number
        // and add them
        for (let i = 1; i <= N; i++)
        {
            sum = sum + (i * (i + 1)) / 2;
        }
 
        return sum;
    }
     
    let N = 5;
    document.write(sumOfSumSeries(N));
     
    // This code is contributed by suresh07.
</script>

                    

Output
35

Time complexity: O(N)
Auxiliary Space: O(1)

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

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

Proof of the above formula:
Lets assume N = 5 

  1. Then the sum is sum of all the below elements in the table, let’s call this “result” 
     
1    
12   
123  
1234 
12345

let’s populate the empty cells with the same value in other columns, lets’s call this “totalSum

  1.  
12345
12345
12345
12345
12345

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 
 

  1. Since, 
     

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

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

Below is the implementation of the above approach: 

C++

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

                    

Java

// 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));
    }
}

                    

Python3

# 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

                    

C#

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

                    

Javascript

<script>
    // Javascript program to implement
    // the above approach
     
    // Function to find the sum
    function sumOfSumSeries(n)
    {
        return (n * (n + 1) * (n + 2)) / 6;
    }
     
    let N = 5;
    document.write(sumOfSumSeries(N));
 
</script>

                    

Output
35

Time complexity: O(1), considering multiplication, addition & division takes constant time.
Auxiliary Space: O(1)



Last Updated : 25 Jul, 2022
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads