Given four integers X, Y, P and Q such that X ≤ Y and gcd(P, Q) = 1. The task is to find minimum operation required to convert X to Y. In a single operation, you can multiply X with either P or Q. If it is not possible to convert X to Y then print -1.
Input: X = 12, Y = 2592, P = 2, Q = 3
(12 * 2) -> (24 * 3) -> (72 * 2) -> (144 * 3) -> (432 * 3) -> (1296 * 2) ->2592
Input: X = 7, Y = 9, P = 2, Q = 7
There is no way we can reach 9 from 7 by
multiplying 7 with either 2 or 7
Approach: If Y is not divisible by X then no integral multiplication of any integer with X any number of times can lead to Y and the result is -1.
Else, let d = Y / X. Now, Pa * Qb = d must hold in order to have a valid solution and the result in that case will be (a + b) else -1 if d cannot be expressed in the powers of P and Q.
In order to check the condition, keep dividing d with P and Q until divisible. Now, if d = 1 in the end then the solution is possible else not.
Below is the implementation of the above approach:
GeeksforGeeks has prepared a complete interview preparation course with premium videos, theory, practice problems, TA support and many more features. Please refer Placement 100 for details
- Minimum number operations required to convert n to m | Set-2
- Minimum operations required to remove an array
- Minimum number of operations required to reduce N to 1
- Minimum operations required to change the array such that |arr[i] - M| <= 1
- Minimum operations required to make two numbers equal
- Minimum number of given operations required to reduce the array to 0 element
- Minimum number of operations required to make two strings equal
- Minimum operations required to make all the array elements equal
- Minimum operations required to make all the elements distinct in an array
- Minimum operations of the given type required to make a complete graph
- Minimum increment or decrement operations required to make the array sorted
- Minimum operations required to modify the array such that parity of adjacent elements is different
- Minimum number of given operation required to convert n to m
- Find the minimum number of operations required to make all array elements equal
- Minimum prime number operations to convert A to B