# Python program to represent n as the sum of exactly k power of 2

In this article, we will learn to represent n as the sum of exactly k power 2 in Python.

Examples

Input: n = 6, k = 2 Output: 2 4 Explanation: 2, 4 are both power of 2 and sum is 2 + 4 = 6 Input: n = 5, k = 1 Output: Not possible

## Represent n as the sum of exactly k power of 2 in Python

1. Create an array arr[] of size k and initialize its values to 1.

2. Declare a variable s = k.

3. Now start from the last element of the arr[]

- If s+arr[i] <= n then update s += arr[i], arr[i] = arr[i]*2.
- Else, skip the current element.

4. If s is not equal to n print not possible.

5. Else print values stored in the arr[].

def powerTwoElements(n, k): s = k arr = [1 for i in range(k)] i = k-1 while(i>=0): while(s+arr[i] <= n): s += arr[i] arr[i] *= 2 i -= 1 if (s!=n): print("Not possible") else: for i in range(k): print(arr[i], end=" ") n = int(input("Enter the n value: ")) k = int(input("Enter the k value: ")) powerTwoElements(n, k)

Output

Enter the n value: 6 Enter the k value: 2 2 4 Enter the n value: 192 Enter the k value: 16 1 1 1 1 1 1 1 1 1 1 1 1 4 16 32 128 Enter the n value: 5 Enter the k value: 1 Not possible

Also, read

## Leave a Reply