Given two numbers N and K. The task is to print K numbers which are powers of 2 and their sum is N. Print -1 if not possible.
Input: N = 9, K = 4 Output: 4 2 2 1 4 + 2 + 2 + 1 = 9 Input: N = 4, K = 5 Output: -1
Approach: The below algorithm can be followed to solve the above problem:
- If the K is less than the number of set bits in N or more than the number N, then it is not possible.
- Insert the powers of two at set bits into Priority Queue.
- Iterate in the Priority Queue till we get K elements, pop() the topmost element and
- Once K elements are achieved, print them.
element/2 twice into the Priority Queue again.
Below is the implementation of the above approach:
4 2 2 1
- Find the sum of numbers from 1 to n excluding those which are powers of K
- Sum of first N natural numbers which are not powers of K
- Count of numbers in range which are divisible by M and have digit D at odd places
- Sum of fourth powers of the first n natural numbers
- Sum of fifth powers of the first n natural numbers
- Sum of fourth powers of first n odd natural numbers
- Sum of first N natural numbers by taking powers of 2 as negative number
- Count of numbers whose sum of increasing powers of digits is equal to the number itself
- Sum of first N natural numbers with all powers of 2 added twice
- Print all integers that are sum of powers of two given numbers
- Number of triangles possible with given lengths of sticks which are powers of 2
- Find the number of integers x in range (1,N) for which x and x+1 have same number of divisors
- Count the numbers < N which have equal number of divisors as K
- Represent n as the sum of exactly k powers of two | Set 2
- Find the number of distinct pairs of vertices which have a distance of exactly k in a tree
- Find the count of M character words which have at least one character repeated
- Count numbers in a range having GCD of powers of prime factors equal to 1
- Count of integers in a range which have even number of odd digits and odd number of even digits
- Sum of largest divisible powers of p (a prime number) in a range
- Powers of 2 to required sum
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.