[AtCoderBeginner Contest 213]Task A-XOR演算


質問する


AtCoder Beginner ConTest 213-Task A問題

私の答え


久しぶりに見たXOR演算なので、先に理解してから始まりました.(ハハ)
私の方法は(アルゴリズム初心者)
まずa,bをバイナリに変換し,バイナリ数を比較し,同じ場合は0,異なる場合はlistcに1を追加し,cを作成して10進数に変換して結果を出力する.
a, b = map(int, input().split())
 
a2= list(bin(a)[2:])
b2 = list(bin(b)[2:])
c = list()

if len(a2) < len(b2):
    count = len(b2) - len(a2)
    while count > 0:
        a2.insert(0, '0')
        count-=1
else:
    count = len(a2) - len(b2)
    while count > 0:
        b2.insert(0, '0')
        count-=1
 
for i in a2:
    for j in b2:
        if i == j:
            c.append('0')
            b2.pop(0)
            break
        else:
            c.append('1')
            b2.pop(0)
            break
ans = '0b' + ''.join(c)
print(int(ans,2))

結果