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> |
55
Time Complexity: O(N)
Auxiliary Space: O(1), since no extra space has been taken.
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!