洛谷 3098 数列之异或(异或的规律)

题目:
求1⨁2⨁⋯⨁N 的值。A⨁B 即A , B 按位异或。
思路:
1.找规律:任取一个奇数a,其二进制表示为xxxxxx1;则a-1二进制表示为xxxxxx0;由此可得a^(a-1)=0000001=1(a为奇数)
2.
依照上方规律,再结合异或运算的交换律和结合律进行打包。
例如:1^2^3^4^5^6^7=(1^2)^(3^4)^(5^6)^7=1^1^1^7=1^7=(最后的计算)001^111=110=6

代码展示:

洛谷 3098 数列之异或(异或的规律)_第1张图片

 

你可能感兴趣的:(c++,c语言)