abc 121 d 'XOR World' (python)
a から b までのXORの累乗和を計算する問題
1から15までのXORの累乗和を順に求めていくと、
1、11、0、100、1、111、0、1000、1、1011、0、
1100、1、1111、0 となっていき、3 (mod4)のときに0になることがわかる
また、a から b までのXORの累乗和は
1 から b までのXORの累乗和 - 1 から a-1 までのXORの累乗和 で求められる
a,b = [int(i) for i in input().split()] if (a-1)%4 == 0: s_a = a-1 elif (a-1)%4 == 1: s_a = 1 elif (a-1)%4 == 2: s_a = (a-1)^1 else: s_a = 0 if b%4 == 0: s_b = b elif b%4 == 1: s_b = 1 elif b%4 == 2: s_b = b^1 else: s_b = 0 print(s_a^s_b)