Given a distance K to cover, the task is to find the minimum steps required to cover the distance if steps can be taken in powers of 2 like 1, 2, 4, 8, 16……..
Input : K = 9 Output : 2 Input : K = 343 Output : 6
The minimum steps required can be calculated by reducing K by the highest power of 2 in each step which can be obtained by counting no. of set bits in the binary representation of a number.
Below is the implementation of the above approach:
Time Complexity :
Don’t stop now and take your learning to the next level. Learn all the important concepts of Data Structures and Algorithms with the help of the most trusted course: DSA Self Paced. Become industry ready at a student-friendly price.
- Minimize the number of steps required to reach the end of the array
- Find minimum number of steps to reach the end of String
- Minimum number of steps to make all elements of array equal
- Number of steps to sort the array by changing order of three elements in each step
- Maximum steps to transform 0 to X with bitwise AND
- Minimum steps to reach target by a Knight | Set 2
- A variation of Rat in a Maze : multiple steps or jumps allowed
- Minimum steps in which N can be obtained using addition or subtraction at every step
- Find minimum steps required to reach the end of a matrix | Set 2
- Minimum steps to reach the Nth stair in jumps of perfect power of 2
- Game Theory in Balanced Ternary Numeral System | (Moving 3k steps at a time)
- Count numbers in a range having GCD of powers of prime factors equal to 1
- Minimum number of given powers of 2 required to represent a number
- Finding powers of any number P in N!
- Find all powers of 2 less than or equal to a given number
- Shortest Superstring Problem | Set 2 (Using Set Cover)
- Exact Cover Problem and Algorithm X | Set 1
- Exact Cover Problem and Algorithm X | Set 2 (Implementation with DLX)
- Powers of 2 to required sum
- Represent n as the sum of exactly k powers of two | Set 2
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.