Given two integers A and B. The task is to check whether it is possible to convert A into B by performing below operations any number of times.
- Convert current number x to 2 * x.
- Convert current number x to (10 * x) + 1.
Input: A = 2, B = 82
2 -> 4 -> 41 -> 82
Input: A = 2, B = 5
Approach: Let’s solve this problem in a reverse way – try to get the number A from B.
Note, that if B ends with 1 the last operation was to append the digit 1 to the right of the current number. Because of that let’s delete the last digit of B and move to the new number.
If the last digit is even then the last operation was to multiply the current number by 2. Because of that let’s divide B by 2 and move to the new number.
In the other cases (if B ends with odd digit except 1) the answer is No.
We need to repeat the described algorithm after every time we get a new number. If at some point, we get a number which is equal to A then the answer is Yes, and if the new number is less than A then the answer is No.
Below is the implementation of the above approach:
- Convert to number with digits as 3 and 8 only
- Convert given integer X to the form 2^N - 1
- Convert Binary fraction to Decimal
- Program to Convert Radian to Degree
- Menu Driven Program to convert MKS to CGS and CGS to MKS
- Convert a String to an Integer using Recursion
- Program to convert a given number to words
- Maximum prime moves to convert X to Y
- Program to convert a given number to words | Set 2
- Convert N to M with given operations using dynamic programming
- Count number of bits to be flipped to convert A to B | Set-2
- Program to Convert Km/hr to miles/hr and vice versa
- Number of steps to convert to prime factors
- Program to convert centimeter into meter and kilometer
- Minimum number of given operation required to convert n to m
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. 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.