题目大意:给定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); } }
新闻热点
疑难解答