A + Bを2進数で計算した結果を出力するという問題。
2進法は0と1で表されるので今回のような論理演算にはよく使われる、と習った。
で、今それをやっている。
ちなみに、私は数学嫌いだった。(いわゆる文系プログラマ)
まあ、やらないわけにはいかないので。
とにかく。場合分けだな。
A
B
=======
C S
Cについて考えると
A=0 と B= 0 なら、0で繰り上がらないので0
A=1 と B= 0 なら、1で繰り上がらないので0
A=0 と B= 1 なら、1で繰り上がらないので0
A=1 と B= 1 なら、1で繰り上がるので1
この結果は ANDのときと同じなので、
C = A and B という関係になっていることがわかる。
Sについて考えると
A=0 と B= 0 なら、0
A=1 と B= 0 なら、1
A=0 と B= 1 なら、1
A=1 と B= 1 なら、2で繰り上がるので0になる
この結果は XORのときと同じなので
S = A XOR B という関係になっていることがわかる。
ここから前回の計算を利用して計算すればOK
A, B = map(int,input().split())
C = A & B
S = A ^ B
print(C, S)