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.