Open In App

Minimum decrements to make integer A divisible by integer B

Improve
Improve
Like Article
Like
Save
Share
Report

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

 

Time Complexity: O(1), as constant operations are being performed.
Auxiliary Space: O(1), constant space is required for the above approach.



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