题目大意:给定n个数字,找出其中只出现了奇数次的数字
此题可以利用位异或的性质解决
位异或计算法则有基本的交换和结合法则,但比较特殊的是
a^a=0
a^0=a
根据这点可以将所有加入运算出现偶数次的元素剔除
最后就只剩下出现奇数次的元素
以下是代码:
#include <stdio.h>
int main()
{
int n,x,ans;
while(~scanf("%d",&n)&&n!=0){
ans=0;
while(n--) {
scanf("%d",&x);
ans^=x;
}
printf("%d\n",ans);
}
}


被折叠的 条评论
为什么被折叠?



