Given a binary string str, the task is to print the numbers of steps required to convert it to one by the following operations:
- If ‘S’ is odd add 1 to it.
- If ‘S’ is even divide it by 2.
Input: str = “1001001”
Input: str = “101110”
Number ‘101110’ is even, after dividing it by 2 we get an odd number ‘10111’ so we will add 1 to it. Then we’ll get ‘11000’ which is even and can be divide three times continuously in a row and get ’11’ which is odd, adding 1 to it will give us ‘100’ which is even and can be divided 2 times in a row. As, a result we get 1.
So 8 times the above two operations were required in this number.
Below is the step by step algorithm to solve this problem:
- Initialize the string S as a binary number.
- If the size of the binary is 1, then the required number of actions will be 0.
- If the last digit is 0, then its an even number so one operation is required to divide it by 2.
- After encountering 1, traverse till you get 0, with every digit one operation will take place.
- After encountering 0 after 1 while traversing, replace 0 by 1 and start from step 4 again.
Below is the implementation of above algorithm:
- Minimum number of given operation required to convert n to m
- Minimum steps to convert one binary string to other only using negation
- Minimum number of operations required to sum to binary string S
- Minimum swaps required to convert one binary string to another
- Minimum number of given operations required to convert a permutation into an identity permutation
- Minimum number of given operations required to convert a string to another string
- Minimum number of given powers of 2 required to represent a number
- Largest number N which can be reduced to 0 in K steps
- Number of odd and even results for every value of x in range [min, max] after performing N steps
- Binary representation of next greater number with same number of 1's and 0's
- Minimum number of operations required to reduce N to 1
- Steps required to visit M points in order on a circular ring of N points
- Minimum number of days required to complete the work
- Minimum number of swaps required to sort an array | Set 2
- Minimum number of given moves required to make N divisible by 25
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.