Monday, October 7, 2024
Google search engine
HomeData Modelling & AISum of sum-series of first N Natural numbers

Sum of sum-series of first N Natural numbers

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 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:
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        
1 2      
1 2 3    
1 2 3 4  
1 2 3 4 5

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

  1.  
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

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)

Feeling lost in the world of random DSA topics, wasting time without progress? It’s time for a change! Join our DSA course, where we’ll guide you on an exciting journey to master DSA efficiently and on schedule.
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!

RELATED ARTICLES

Most Popular

Recent Comments