#include <stdio.h>
int main(){
int n,s,a;
while(scanf("%d",&n),n){
s = 0;
while(n--){
scanf("%d",&a);
s^=a;
}
printf("%d\n",s);
}
return 0;
}
异或的运用,简化了代码。简单的来说a^b就是将a、b的二进制对应 ,相同位取0不同取1.
明白a^b^c的异或过程就能明白这样做的原理了。
#include <stdio.h>
int main(){
int n,s,a;
while(scanf("%d",&n),n){
s = 0;
while(n--){
scanf("%d",&a);
s^=a;
}
printf("%d\n",s);
}
return 0;
}
明白a^b^c的异或过程就能明白这样做的原理了。