Summing the sum series (original) (raw)

Last Updated : 11 Jul, 2025

Defined a function that calculates the twice of sum of first N natural numbers as sum(N). Your task is to modify the function to sumX(N, M, K) that calculates sum( K + sum( K + sum( K + ...sum(K + N)...))), continuing for M terms. For a given N, M and K calculate the value of sumX(N, M, K).
Note: Since the answer can be very large, print the answer in modulo 10^9 + 7.
Examples:

Input: N = 1, M = 2, K = 3
Output: 552
For M = 2
sum(3 + sum(3 + 1)) = sum(3 + 20) = 552.
Input: N = 3, M =3, K = 2
Output: 1120422
For M = 3
sum(2 + sum(2 + sum(2 + 3))) = sum(2 + sum(2 + 30)) = sum(2 + 1056) = 1120422.

Try It Yourselfredirect icon

Approach:

Below is the implementation of the above approach:

C++ `

// C++ program to calculate the
// terms of summing of sum series

#include

using namespace std;

define MOD 1000000007

// Function to calculate // twice of sum of first N natural numbers long sum(long N){

long val = N * (N+1);
val = val % MOD;

return val;

}

// Function to calculate the // terms of summing of sum series int sumX(int N, int M, int K){

for (int i = 0; i < M; i++) { 
    N = (int)sum(K + N); 
} 

N = N % MOD; 
return N;

}

// Driver Code int main() { int N = 1, M = 2, K = 3; cout << sumX(N, M, K) << endl;

return 0;

}

// This code is contributed by Rituraj Jain

Java

// Java program to calculate the // terms of summing of sum series

import java.io.; import java.util.; import java.lang.*;

class GFG {

static int MOD = 1000000007;

// Function to calculate
// twice of sum of first N natural numbers
static long sum(long N)
{
    long val = N * (N + 1);

    // taking modulo 10 ^ 9 + 7
    val = val % MOD;

    return val;
}

// Function to calculate the
// terms of summing of sum series
static int sumX(int N, int M, int K)
{
    for (int i = 0; i < M; i++) {
        N = (int)sum(K + N);
    }
    N = N % MOD;
    return N;
}

// Driver code
public static void main(String args[])
{
    int N = 1, M = 2, K = 3;
    System.out.println(sumX(N, M, K));
}

}

Python3

Python3 program to calculate the

terms of summing of sum series

MOD = 1000000007

Function to calculate

twice of sum of first N natural numbers

def Sum(N):

val = N * (N + 1) 

# taking modulo 10 ^ 9 + 7 
val = val % MOD 

return val 

Function to calculate the

terms of summing of sum series

def sumX(N, M, K):

for i in range(M):
    N = int(Sum(K + N)) 
     
N = N % MOD 
return N 

if name == "main":

N, M, K = 1, 2, 3
print(sumX(N, M, K)) 

This code is contributed by Rituraj Jain

C#

// C# program to calculate the // terms of summing of sum series

using System; class GFG {

static int MOD = 1000000007;

// Function to calculate
// twice of sum of first N natural numbers
static long sum(long N)
{
    long val = N * (N + 1);

    // taking modulo 10 ^ 9 + 7
    val = val % MOD;

    return val;
}

// Function to calculate the
// terms of summing of sum series
static int sumX(int N, int M, int K)
{
    for (int i = 0; i < M; i++) {
        N = (int)sum(K + N);
    }
    N = N % MOD;
    return N;
}

// Driver code
public static void Main()
{
    int N = 1, M = 2, K = 3;
    Console.WriteLine(sumX(N, M, K));
}

}

// This code is contributed by anuj_67..

PHP

val=val = val=N * ($N + 1); val=val = val=val % $MOD; return $val; } // Function to calculate the terms // of summing of sum series function sumX($N, M,M, M,K) { $MOD = 1000000007; for ($i = 0; i<i < i<M; $i++) { N=sum(N = sum(N=sum(K + $N); } N=N = N=N % $MOD; return $N; } // Driver Code $N = 1; $M = 2; $K = 3; echo (sumX($N, M,M, M,K)); // This code is contributed // by Shivi_Aggarwal ?>

JavaScript

`

Time Complexity: O(M)

Auxiliary Space: O(1), since no extra space has been taken.