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 given integer X to the form 2^N - 1
- Convert to number with digits as 3 and 8 only
- Maximum prime moves to convert X to Y
- Convert Binary fraction to Decimal
- Convert a String to an Integer using Recursion
- Convert N to M with given operations using dynamic programming
- Program to Convert Radian to Degree
- Program to convert a given number to words
- Program to convert a given number to words | Set 2
- Menu Driven Program to convert MKS to CGS and CGS to MKS
- Number of steps to convert to prime factors
- Python Program to convert Kilometers to Miles
- Count number of bits to be flipped to convert A to B | Set-2
- Convert the ASCII value sentence to its equivalent string
- Convert a number of length N such that it contains any one digit at least 'K' times
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.