Given two **positive integers A and B** where A is greater than B. In one move one can decrease A by 1 which implies that after one move A is equal to A – 1. The task is to find the minimum number of moves required to make A divisible by B in constant time.**Examples:**

Input :A = 10, B = 3Output :1Explanation:Only one move is required A = A - 1 = 9, which is divisible by 3.Input :A = 10, B = 10Output :0Explanation:Since A is equal to B therefore zero move required.

**Approach:**

To solve the problem mentioned above we take the modulus of the numbers that are A % B and the result is stored in a variable which is the required answer.

Below is the implementation of the above approach:

## C++

`// C++ implementation to count` `// Total numbers moves to make` `// integer A divisible by integer B` `#include <bits/stdc++.h>` `using` `namespace` `std;` `// Function that print number` `// of moves required` `void` `movesRequired(` `int` `a, ` `int` `b)` `{` ` ` `// calculate modulo` ` ` `int` `total_moves = a % b;` ` ` `// print the required answer` ` ` `cout << total_moves << ` `"\n"` `;` `}` `// Driver Code` `int` `main()` `{` ` ` `// initialise A and B` ` ` `int` `A = 10, B = 3;` ` ` `movesRequired(A, B);` ` ` `return` `0;` `}` |

## Java

`// Java implementation to count` `// total numbers moves to make` `// integer A divisible by integer B` `import` `java.util.*;` `class` `GFG{` `// Function that print number` `// of moves required` `static` `void` `movesRequired(` `int` `a, ` `int` `b)` `{` ` ` ` ` `// Calculate modulo` ` ` `int` `total_moves = a % b;` ` ` `// Print the required answer` ` ` `System.out.println(total_moves);` `}` `// Driver code` `public` `static` `void` `main(String[] args)` `{` ` ` ` ` `// Initialise A and B` ` ` `int` `A = ` `10` `, B = ` `3` `;` ` ` `movesRequired(A, B);` `}` `}` `// This code is contributed by offbeat` |

## Python3

`# Python3 implementation to count` `# total numbers moves to make` `# integer A divisible by integer B` `# Function that print number` `# of moves required` `def` `movesRequired(a, b):` ` ` ` ` `# Calculate modulo` ` ` `total_moves ` `=` `a ` `%` `b` ` ` `# Print the required answer` ` ` `print` `(total_moves)` `# Driver Code` `if` `__name__ ` `=` `=` `'__main__'` `:` ` ` ` ` `# Initialise A and B` ` ` `A ` `=` `10` ` ` `B ` `=` `3` ` ` `movesRequired(A, B)` `# This code is contributed by Samarth` |

## C#

`// C# implementation to count` `// total numbers moves to make` `// integer A divisible by integer B` `using` `System;` `class` `GFG` `{` `// Function that print number` `// of moves required` `static` `void` `movesRequired(` `int` `a, ` `int` `b)` `{` ` ` ` ` `// Calculate modulo` ` ` `int` `total_moves = a % b;` ` ` `// Print the required answer` ` ` `Console.Write(total_moves);` `}` `// Driver code` `public` `static` `void` `Main(String []args)` `{` ` ` `// Initialise A and B` ` ` `int` `A = 10, B = 3;` ` ` `movesRequired(A, B);` `}` `}` `// This code is contributed by shivanisinghss2110` |

## Javascript

`<script>` ` ` `// Javascript implementation to count` ` ` `// Total numbers moves to make` ` ` `// integer A divisible by integer B` ` ` ` ` `// Function that print number` ` ` `// of moves required` ` ` `function` `movesRequired(a, b)` ` ` `{` ` ` `// calculate modulo` ` ` `let total_moves = a % b;` ` ` `// print the required answer` ` ` `document.write(total_moves);` ` ` `}` ` ` ` ` `// initialise A and B` ` ` `let A = 10, B = 3;` ` ` ` ` `movesRequired(A, B);` `// This code is contributed by divyesh072019.` `</script>` |

**Output:**

1

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the **DSA Self Paced Course** at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more, please refer **Complete Interview Preparation Course****.**

In case you wish to attend live classes with industry experts, please refer **Geeks Classes Live**