Open In App

Minimum elements to be added in a range so that count of elements is divisible by K

Improve
Improve
Like Article
Like
Save
Share
Report

Given three integer K, L and R (range [L, R]), the task is to find the minimum number of elements the range must be extended by so that the count of elements in the range is divisible by K.

Examples: 

Input: K = 3, L = 10, R = 10 
Output:
Count of elements in L to R is 1. 
So to make it divisible by 3 , increment it by 2.

Input: K = 5, L = 9, R = 12 
Output:
 

Approach: 

  • Count the total number of elements in the range and store it in a variable named count = R – L + 1.
  • Now, minimum number of elements that need to be added to the range will be K – (count % K).

Below is the implementation of the above approach:  

C++




// C++ implementation of the approach
#include <bits/stdc++.h>
using namespace std;
 
int minimumMoves(int k, int l, int r)
{
    // Total elements in the range
    int count = r - l + 1;
 
    // If total elements are already divisible by k
    if (count % k == 0)
        return 0;
 
    // Value that must be added to count
    // in order to make it divisible by k
    return (k - (count % k));
}
 
// Driver Program to test above function
int main()
{
    int k = 3, l = 10, r = 10;
    cout << minimumMoves(k, l, r);
 
return 0;
}


Java




// Java implementation of the approach
 
import java.io.*;
 
class GFG {
    
 static int minimumMoves(int k, int l, int r)
{
    // Total elements in the range
    int count = r - l + 1;
 
    // If total elements are already divisible by k
    if (count % k == 0)
        return 0;
 
    // Value that must be added to count
    // in order to make it divisible by k
    return (k - (count % k));
}
 
// Driver Program to test above function
    public static void main (String[] args) {
    int k = 3, l = 10, r = 10;
    System.out.print(minimumMoves(k, l, r));
    }
}
// This code is contributed
// by inder_verma..


Python3




# Python 3 implementation of the approach
 
def minimumMoves(k, l, r):
    # Total elements in the range
    count = r - l + 1
 
    # If total elements are already divisible by k
    if (count % k == 0):
        return 0
 
    # Value that must be added to count
    # in order to make it divisible by k
    return (k - (count % k))
 
# Driver Program to test above function
if __name__ == '__main__':
    k = 3
    l = 10
    r = 10
    print(minimumMoves(k, l, r))
 
# This code is contributed by
# Surendra_Gangwar


C#




// C# implementation of the approach
using System;
 
class GFG {
     
 
 
static int minimumMoves(int k, int l, int r)
{
    // Total elements in the range
    int count = r - l + 1;
 
    // If total elements are already divisible by k
    if (count % k == 0)
        return 0;
 
    // Value that must be added to count
    // in order to make it divisible by k
    return (k - (count % k));
}
 
// Driver Program to test above function
    public static void Main () {
    int k = 3, l = 10, r = 10;
    Console.WriteLine(minimumMoves(k, l, r));
    }
}
// This code is contributed
// by inder_verma..


PHP




<?php
// PHP implementation of the approach
 
function minimumMoves($k, $l, $r)
{
    // Total elements in the range
    $count = $r - $l + 1;
 
    // If total elements are already divisible by k
    if ($count % $k == 0)
        return 0;
 
    // Value that must be added to count
    // in order to make it divisible by k
    return ($k - ($count % $k));
}
 
// Driver Program to test above function
 
    $k = 3; $l = 10; $r = 10;
    echo minimumMoves($k, $l, $r);
// This code is contributed
// by inder_verma..
 
 
?>


Javascript




<script>
 
// Javascript implementation of the approach
function minimumMoves(k, l, r)
{
     
    // Total elements in the range
    let count = r - l + 1;
 
    // If total elements are already
    // divisible by k
    if (count % k == 0)
        return 0;
 
    // Value that must be added to count
    // in order to make it divisible by k
    return (k - (count % k));
}
 
// Driver code
let k = 3, l = 10, r = 10;
 
document.write(minimumMoves(k, l, r));
 
// This code is contributed by souravmahato348
 
</script>


Output: 

2

 

Time Complexity: O(1)

Auxiliary Space: O(1)



Last Updated : 08 Jul, 2022
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads