Given two numbers and . Find the values of X and Y in the equations.
- A = X + Y
- B = X xor Y
The task is to make X as minimum as possible. If it is not possible to find any valid values for X and Y then print -1.
Input : A = 12, B = 8 Output : X = 2, Y = 10 Input : A = 12, B = 9 Output : -1
Let’s take a look at some bit in X, which is equal to 1. If the respective bit in Y is equal to 0, then one can swap these two bits, thus reducing X and increasing Y without changing their sum and xor. We can conclude that if some bit in X is equal to 1 then the respective bit in Y is also equal to 1. Thus, Y = X + B. Taking into account that X + Y = X + X + B = A, one can obtain the following formulas for finding X and Y:
- X = (A – B) / 2
- Y = X + B = (A + B) / 2
One should also notice that if A < B or A and B have different parity, then the answer doesn’t exist and output is -1. If X and (A – X) not equal to X then the answer is also -1.
Below is the implementation of the above approach :
- Find n-variables from n sum equations with one missing
- Find the repeating and the missing number using two equations
- Find 'N' number of solutions with the given inequality equations
- Find n positive integers that satisfy the given equations
- Find if two given Quadratic equations have common roots or not
- Program to find root of an equations using secant method
- Find N values of X1, X2, ... Xn such that X1 < X2 < ... < XN and sin(X1) < sin(X2) < ... < sin(XN)
- Find smallest values of x and y such that ax - by = 0
- Find minimum possible values of A, B and C when two of the (A + B), (A + C) and (B + C) are given
- Find the minimum value of m that satisfies ax + by = m and all values after m also satisfy
- Find minimum value of y for the given x values in Q queries from all the given set of lines
- Find Partition Line such that sum of values on left and right is equal
- Program to find the XOR of ASCII values of characters in a string
- Find the original Array using XOR values of all adjacent elements
- Find the sum of the ascii values of characters which are present at prime positions
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.