Sum of the natural numbers (up to N) whose modulo with K yield R
Last Updated :
27 Aug, 2022
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++
#include <bits/stdc++.h>
using namespace std;
long long int count( int N, int K, int R)
{
long long int sum = 0;
for ( int i = 1; i <= N; i++) {
if (i % K == R)
sum += i;
}
return sum;
}
int main()
{
int N = 20, K = 4, R = 3;
cout << count(N, K, R);
return 0;
}
|
Java
class GfG
{
static long count( int N, int K, int R)
{
long sum = 0 ;
for ( int i = 1 ; i <= N; i++)
{
if (i % K == R)
sum += i;
}
return sum;
}
public static void main(String[] args)
{
int N = 20 , K = 4 , R = 3 ;
System.out.println(count(N, K, R));
}
}
|
Python3
def count(N, K, R):
sum = 0
for i in range ( 1 , N + 1 ):
if (i % K = = R):
sum + = i
return sum
if __name__ = = '__main__' :
N = 20
K = 4
R = 3
print (count(N, K, R))
|
C#
using System;
class GFG
{
static long count( int N, int K, int R)
{
long sum = 0;
for ( int i = 1; i <= N; i++)
{
if (i % K == R)
sum += i;
}
return sum;
}
public static void Main()
{
int N = 20, K = 4, R = 3;
Console.Write(count(N, K, R));
}
}
|
PHP
<?php
function count1( $N , $K , $R )
{
$sum = 0;
for ( $i = 1; $i <= $N ; $i ++)
{
if ( $i % $K == $R )
$sum += $i ;
}
return $sum ;
}
$N = 20; $K = 4; $R = 3;
echo count1( $N , $K , $R );
?>
|
Javascript
<script>
function count(N , K , R) {
var sum = 0;
for (i = 1; i <= N; i++) {
if (i % K == R)
sum += i;
}
return sum;
}
var N = 20, K = 4, R = 3;
document.write(count(N, K, R));
</script>
|
Time Complexity: O(N)
Auxiliary Space: O(1), since no extra space has been taken.
Share your thoughts in the comments
Please Login to comment...