Pagini recente » Cod sursa (job #664575) | Cod sursa (job #1059182) | Cod sursa (job #1972733) | Cod sursa (job #842784) | Cod sursa (job #946019)
Cod sursa(job #946019)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in ("adunare.in");
ofstream out ("adunare.out");
int A[32], B[32], Sol[32], Tr[32];
int main()
{
int X, Y, a = -1, b = -1, i, Ans = 0;
in >> X >> Y;
while (X){
A[++ a] = X & 1;
X >>= 1;
}
while (Y){
B[++ b] = Y & 1;
Y >>= 1;
}
for (i = 0; i < 31; i ++){
Sol[i] = A[i] ^ B[i] ^ Tr[i];
Tr[i + 1] = ((A[i] | B[i]) & Tr[i]) | ((A[i] | Tr[i]) & B[i]);
}
/*for (i = 0; i < 31; i ++)
cout << A[i] << " ";
cout << '\n';
for (i = 0; i < 31; i ++)
cout << B[i] << " ";
cout << '\n';
for (i = 0; i < 31; i ++)
cout << Sol[i] << " ";
cout << '\n';*/
for (i = 0; i < 31; i ++)
Ans |= (Sol[i] << i);
out << Ans;
return 0;
}