Skip to content
Related Articles

Related Articles

Improve Article
Minimum decrements to make integer A divisible by integer B
  • Last Updated : 22 Mar, 2021

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 = 3 
Output : 1
Explanation:
Only one move is required A = A - 1 = 9,
which is divisible by 3.

Input : A = 10, B = 10
Output : 0
Explanation:
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




My Personal Notes arrow_drop_up
Recommended Articles
Page :