问题 7039 --位运算37039: 位运算3★★
时间限制: 1 Sec 内存限制: 128 MB
提交: 12 解决: 11
[提交][状态][命题人:]题目描述
找出每个数对应二进制数中的最右侧“1”所在位的权值,然后对所有数最右侧1的权值进行按位异或运算。
如10对应的二进制为1010,其最右侧1的权值为2;
而48对应的二进制为110000,其最右侧1的权值为16;
输入
第一行为n(1<n<=1000)
第二行为n个正整数a1,a2,...,an(1<=ai<=1e9)
输出
对所有数最右侧1的权值进行按位异或运算的结果。
提示
测试样例中:
10对应的二进制为1010,其最右侧1的权值为2,权值的二进制表示为10。
48对应的二进制为110000,其最右侧1的权值为16,权值的二进制表示为10000。
192对应的二进制为11000000,其最右侧1的权值为64,权值的二进制表示为1000000。
进行异或运算:00000010^00010000^01000000=01010010,因此答案为82。
来源
[提交][状态]