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:
- Minimum number operations required to convert n to m | Set-2
- Minimum operations required to change the array such that |arr[i] - M| <= 1
- Minimum number of operations required to reduce N to 1
- Minimum operations required to remove an array
- Minimum number of given operations required to reduce the array to 0 element
- 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 operations required to make all the array elements equal
- 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
- Minimum prime number operations to convert A to B
- Find the minimum number of operations required to make all array elements equal
- Minimum number of operations to convert a given sequence into a Geometric Progression
- Convert a number m to n using minimum number of given operations
- Count operations of the given type required to reduce N to 0
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.