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.
Approach:
- Calculate value of sum(N) using the formula N*(N + 1).
- Run a loop M times, each time adding K to the previous answer and applying sum(prev_ans + K), modulo 10^9 + 7 each time.
- Print the value of sumX(N, M, K) in the end.
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
JavaScript
`
Time Complexity: O(M)
Auxiliary Space: O(1), since no extra space has been taken.