Smallest XOR

we have given two number A and B . we have to find a number X such that

  1. A XOR X is minimum
  2. number of set bit in X is equal to number of set bit in B

Link to original problem? Presumably it doesn’t just trail off mid-sentence like this :slight_smile:

3 Likes

DELETE ASAPPPPP

Post the entire question

Please correct that i am right or wrong
My App.

  1. calculate set bits in A (nA) and B(nB)
  2. if nA == nB then OUTPUT A
  3. if nA > nB then
    diff = nA - nB
    remove diff set bits from right in A
    and output ans
  4. if nA < nB
    diff = nB - nA
    then change rightmost diff unset bits to set bits
    and output it
1 Like

Any sample test case with sample output?

sample input
5 3
sample output
5

sample input
7 3
sample output
6

is this from any ongoing contest ?

3 Likes

If this from any Ongoing contest. We should not discuss. :slight_smile:

this question asked in AppPerfect Pvt. Ltd. on campus recruitment drive

NO , take an example:
A = 43 = 101011
B = 3 = 000011

Now nA = 4 , nB = 2
nA>nB so according to your approach remove 2 set bits from right side of A then A = 1010 ie., 10
Now 43 ^ 10 = 33 which is not minimum instead of this we can unset the last diff bits in A
so A = 101000 ie., 40 now 43 ^ 40 = 3 which is minimum
@l_returns @anon55659401 Please see this i m correct or not?

Not from any ongoing challenge :slight_smile:

yeah,same i was thinking!

which college?

See my example ?

Remove means unset the bit . Change from 1 to 0

College of technology and engineering , udaipur

Oh then it will be fine , i wrote bcz in first case u said we have to remove , in second case u said unset to set

There my mean is to unset . Sorry for that

  • calculate set bits in A (nA) and B(nB)
  • if nA == nB then OUTPUT A
  • if nA > nB then
    diff = nA - nB
    unset the last diff bits in A
    and output ans
  • if nA < nB
    diff = nB - nA
    then change rightmost diff unset bits to set bits
    and output it