Given an integer X. The task is to find and return the array containing of powers of 2’s and the xor of the array is X.
Input: X = 20
Output: 16 4
Input: X = 15
Output: 1 2 4 8
Approach: The answer lies in the binary representation of the number X.
Since in the power of 2, there is only one set bit. If there are two distinct powers of 2’s present then the xor will be the addition of both the numbers.
Similarly, if xor of the whole array will be taken then it should be equal to X and that will be the binary representation of that number.
Since there is a distinct set bit in every power of 2’s, the xor and the sum of the elements of the array will be the same.
Below is the implementation of the above approach:
1 2 4 8
- Smallest power of 2 which is greater than or equal to sum of array elements
- Check if any permutation of N equals any power of K
- Sum of elements in 1st array such that number of elements less than or equal to them in 2nd array is maximum
- Minimum element whose n-th power is greater than product of an array of size n
- Count of pairs in an array such that the highest power of 2 that divides their product is 1
- Minimum sum of the elements of an array after subtracting smaller elements from larger
- Rearrange array elements such that Bitwise AND of first N - 1 elements is equal to last element
- Check if given number is a power of d where d is a power of 2
- Compute power of power k times % m
- Find power of power under mod of a prime
- Find elements of array using XOR of consecutive elements
- Generate an array of K elements such that sum of elements is N and the condition a[i] < a[i+1] <= 2*a[i] is met | Set 2
- Find minimum value to assign all array elements so that array product becomes greater
- Maximize the median of the given array after adding K elements to the same array
- Construct an array from GCDs of consecutive elements in given array
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.