In this

**HackerEarth Monk and his Friend, problem-solution**Monk has a very good friend, Puchi. As weird as his name, are the games he plays.One fine day, they decided to play a game to test how diverse their choices are. Both of them choose exactly one integer each. Monk chooses an integer M and Puchi chooses an integer P.

The diversity of their choices is defined as the number of bits whose status is different in the binary representation of M and P, i.e., count of bits that are, either set in M and unset in P or set in P and unset in M.

Find the answer to their game.

## HackerEarth Monk and his Friend's problem solution.

`#include<bits/stdc++.h>`

using namespace std;

#define rep(i,n) for(i=0;i<n;i++)

#define ll long long

#define elif else if

#define pii pair<int,int>

#define mp make_pair

#define pb push_back

#define CLEAR(array, value) memset(ptr, value, sizeof(array));

#define si(a) scanf("%d", &a)

#define sl(a) scanf("%lld", &a)

#define pi(a) printf("%d", a)

#define pl(a) printf("%lld", a)

#define pn printf("\n")

ll int foo(ll int n)

{

ll int count = 0;

while(n)

{

count += n & 1;

n >>= 1;

}

return count;

}

int main()

{

freopen("in.txt","r",stdin);

freopen("out","w",stdout);

ios_base::sync_with_stdio(0);

int t;

cin>>t;

assert(1<=t && t<=10000);

while(t--)

{

ll int a,b;

cin>>a>>b;

assert(0<=a && a<=10000000000000000);

assert(0<=b && b<=10000000000000000);

a= a^b;

cout<<foo(a);

if(t>0)cout<<"\n";

}

return 0;

}

### Second solution

`#include <bits/stdc++.h>`

using namespace std;

int main()

{

int T; cin >> T; assert(T>=1 && T<=10000);

for (int g=0; g<T; g++){

long long a, b; cin >> a >> b;

assert (a>=0 && a<=1e16);

assert (b>=0 && b<=1e16);

cout << __builtin_popcountll (a^b) << '\n';

}

return 0;

}

## 0 Comments