5 1 1 3 2 2 3 1 2 1 0
3 2use scanf to avoid Time Limit ExceededHintHint解题思路:位运算需知道异或的两个性质即可: 1、 n ^ 0 = n; 2、 n ^ n = 0; (a ^ b ^ a = b) 3、异或满足交换律 4、 0^0=0 0^1=1 1^0=1 1^1=0 0^1^1 = 0 可以发现 任何数异或0还是他本身。 一个数异或另一个数偶数次还是他本身。程序代码:#include <stdio.h> #include <stdlib.h> int main() { int n,result; int i,num; while(scanf("%d",&n) && n != 0) { result = 0; for(i=0; i<n; i++) { scanf("%d",&num); result ^= num; } printf("%d\n",result); } system("pause"); return 0; }
原文地址:http://blog.csdn.net/zchlww/article/details/41650371