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

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; ` `} ` |

*chevron_right*

*filter_none*

## 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. ` |

*chevron_right*

*filter_none*

## 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 ` |

*chevron_right*

*filter_none*

## 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 ` |

*chevron_right*

*filter_none*

## 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 ` `?> ` |

*chevron_right*

*filter_none*

**Output:**

55

## Recommended Posts:

- Find sum of modulo K of first N natural number
- Expressing a fraction as a natural number under modulo 'm'
- LCM of N numbers modulo M
- Modulo power for large numbers represented as strings
- Sum of first n natural numbers
- Natural Numbers
- LCM of First n Natural Numbers
- Sum of first N natural numbers which are not powers of K
- Sum of squares of first n natural numbers
- Sum of first N natural numbers which are divisible by 2 and 7
- Repeated sum of first N natural numbers
- Sum of squares of first n natural numbers
- Sum of cubes of even and odd natural numbers
- Sum of first N natural numbers which are divisible by X or Y
- Sum of cubes of first n odd natural numbers

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.