Given two integers A and B, convert A to B by performing one of the following operations any number of times:
- A = A + K
- A = A – K, where K belongs to [1, 10]
The task is to find the minimum number of operations required to convert A to B using the above operations.
Input: A = 13, B = 42
The following sequence of moves can be performed: 13 → 23 → 32 → 42(add 10, add 9, add 10).
Input: A = 18, B = 4
The following sequence of moves can be performed: 18 → 10 → 4 (subtract 8, subtract 6).
Approach: The idea is to simply calculate the required number of moves by dividing the absolute difference of A and B by all the numbers in the range [1…10] and adding it to the resultant variable. Follow the steps below to solve the problem:
- Initialize a variable required_moves to store the minimum count of moves required.
- Find the absolute difference of A and B.
- Iterate over the range [1, 10] and perform the following operations:
- Divide the number by i and add it to the resultant variable.
- Calculate modulo of absolute difference by i.
- Finally, print the value of required_moves.
Below is the implementation of the above approach:
Time Complexity: O(K), where K is in the range [0, 10]
Auxiliary Space: O(1)
Attention reader! Don’t stop learning now. Get hold of all the important mathematical concepts for competitive programming with the Essential Maths for CP Course at a student-friendly price. To complete your preparation from learning a language to DS Algo and many more, please refer Complete Interview Preparation Course.