Related Articles
Minimum elements to be added in a range so that count of elements is divisible by K
• Difficulty Level : Basic
• Last Updated : 14 Dec, 2018

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: 2
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: 1

## Recommended: Please try your approach on {IDE} first, before moving on to the solution.

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 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

 ``
Output:
```2
``` My Personal Notes arrow_drop_up