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

• Difficulty Level : Basic
• Last Updated : 21 Apr, 2021

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 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 functionint 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 functionif __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 approachusing 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..



Javascript


Output:
2

My Personal Notes arrow_drop_up