异或运算符(^)

关于异或运算(^),谈谈自己浅显的认识:
0异或任何非零数n结果为n,n^n=0。
交换律:a ^ b = b ^ a,
结合律:a ^ b ^ c = a ^ (b ^ c) = (a ^ b) ^ c,
d = a ^ b ^ c 可以推出 a = d ^ b ^ c,
自反性:a ^ b ^ a = b。
问题:有一组数,从1到n依次递增,其中有且只有一个数重复,找出那个数。
解:
设重复的数为n,
令S=1^2 ^3 ^n ··· ^1000,则1 ^2 ^3 ^n ^ n··· ^ 1000=S ^n,
∴(1^2 ^3 ^n ^n··· ^1000) ^(1 ^2 ^3 ^ n··· ^1000)=(S ^n) ^S= n,
重复的数为n。

猜你喜欢

转载自blog.csdn.net/weixin_43871781/article/details/84641626