徐州联赛选拔赛 推算零件的编号

题目链接

思路:由于每次只生产2、4、8个零件,有一个没有编号,那么那个编号一定出现了奇数次。可以先排个序,再统计每个编号出现的次数。当然还有更简单的方法,利用异或运算的性质,如果异或某个数字偶数次则相当于没有异或这个数,所以把所有编号异或起来的结果就是那个奇数次的编号。

AC代码:

 1 #include <cstdio>
 2  
 3 int main()
 4 {
 5     int n;
 6     while (~scanf("%d", &n))
 7     {
 8         int ans = 0, v;
 9         for (int i = 0; i < n; i++)
10             scanf("%d", &v), ans ^= v;
11         printf("%d\n", ans);
12     }
13     return 0;
14 }
原文地址:https://www.cnblogs.com/iRedBean/p/5378750.html