#include <stdio.h>
#include <string.h>
int main()
{
int n,i,k,m;
while(1){
scanf("%d",&n);
if(n==0)break;
k=0;
for(i=1;i<=n;i++){
scanf("%d",&m);
k=k^m;
}
printf("%d\n",k);
}
return 0;
}用位异或算,出现偶数次的数字会抵消,剩下的就是出现奇数次的数字
本文介绍了一个使用位异或运算解决数组中出现奇数次的数字的问题。通过C语言实现,该程序能从输入的多个整数中找出唯一出现奇数次的数字。利用位异或特性,即相同数字异或结果为0,不同数字异或保持不变的原理。

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



