Skip to content
Related Articles
Get the best out of our app
GeeksforGeeks App
Open App
geeksforgeeks
Browser
Continue

Related Articles

Sum of the natural numbers (up to N) whose modulo with K yield R

Improve Article
Save Article
Like Article
Improve Article
Save Article
Like Article

Given three integers N, K, and R. The task is to calculate the sum of all those numbers from 1 to N which yields remainder R upon division by K.
Examples: 
 

Input: N = 20, K = 4, R = 3 
Output: 55 
3, 7, 11, 15 and 19 are the only numbers that give 3 as the remainder on division with 4. 
3 + 7 + 11 + 15 + 19 = 55
Input: N = 15, K = 13, R = 2 
Output: 17 
 

 

Approach: 
 

  • Initialize sum = 0 and take the modulo of each element from 1 to N with K.
  • If the remainder is equal to R, then update sum = sum + i where i is the current number that gave R as the remainder on dividing by K.
  • Print the value of sum in the end.

Below is the implementation of the above approach: 
 

C++




// C++ implementation of the approach
#include <bits/stdc++.h>
using namespace std;
 
// Function to return the sum
long long int count(int N, int K, int R)
{
    long long int sum = 0;
    for (int i = 1; i <= N; i++) {
 
        // If current number gives R as the
        // remainder on dividing by K
        if (i % K == R)
 
            // Update the sum
            sum += i;
    }
 
    // Return the sum
    return sum;
}
 
// Driver code
int main()
{
    int N = 20, K = 4, R = 3;
    cout << count(N, K, R);
 
    return 0;
}

Java




// Java implementation of the approach
class GfG
{
 
// Function to return the sum
static long count(int N, int K, int R)
{
    long sum = 0;
    for (int i = 1; i <= N; i++)
    {
 
        // If current number gives R as the
        // remainder on dividing by K
        if (i % K == R)
 
            // Update the sum
            sum += i;
    }
 
    // Return the sum
    return sum;
}
 
// Driver code
public static void main(String[] args)
{
    int N = 20, K = 4, R = 3;
    System.out.println(count(N, K, R));
}
}
 
// This code is contributed by
// prerna saini.

Python3




# Python 3 implementation of the approach
 
# Function to return the sum
def count(N, K, R):
    sum = 0
    for i in range(1, N + 1):
         
        # If current number gives R as the
        # remainder on dividing by K
        if (i % K == R):
             
            # Update the sum
            sum += i
 
    # Return the sum
    return sum
 
# Driver code
if __name__ == '__main__':
    N = 20
    K = 4
    R = 3
    print(count(N, K, R))
 
# This code is contributed by
# Surendra_Gangwar

C#




// C# implementation of the approach
using System;
class GFG
{
 
// Function to return the sum
static long count(int N, int K, int R)
{
    long sum = 0;
    for (int i = 1; i <= N; i++)
    {
 
        // If current number gives R as the
        // remainder on dividing by K
        if (i % K == R)
 
            // Update the sum
            sum += i;
    }
 
    // Return the sum
    return sum;
}
 
// Driver code
public static void Main()
{
    int N = 20, K = 4, R = 3;
    Console.Write(count(N, K, R));
}
}
 
// This code is contributed by
// Akanksha Rai

PHP




<?php
// PHP implementation of the approach
 
// Function to return the sum
function count1($N, $K, $R)
{
    $sum = 0;
    for ($i = 1; $i <= $N; $i++)
    {
 
        // If current number gives R as the
        // remainder on dividing by K
        if ($i % $K == $R)
 
            // Update the sum
            $sum += $i;
    }
 
    // Return the sum
    return $sum;
}
 
// Driver code
$N = 20; $K = 4; $R = 3;
echo count1($N, $K, $R);
 
// This code is contributed
// by Akanksha Rai
?>

Javascript




<script>
 
// Javascript implementation of the approach
 
    // Function to return the sum
    function count(N , K , R) {
        var sum = 0;
        for (i = 1; i <= N; i++) {
 
            // If current number gives R as the
            // remainder on dividing by K
            if (i % K == R)
 
                // Update the sum
                sum += i;
        }
 
        // Return the sum
        return sum;
    }
 
    // Driver code
     
        var N = 20, K = 4, R = 3;
        document.write(count(N, K, R));
 
// This code contributed by aashish1995
 
</script>

Output: 

55

 

Time Complexity: O(N)

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


My Personal Notes arrow_drop_up
Last Updated : 27 Aug, 2022
Like Article
Save Article
Similar Reads
Related Tutorials