題目大意:給定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); } }
新聞熱點
疑難解答