1009 抑或(^)運算解題報告 ******

題意:

入包含多組測試數據,每組測試數據首先包含一個整數N,表示本組測試數據下共有N個數。N一定是奇數,0<N<10000000, 輸入的N個數在int範圍內。

輸出:

對於每組輸入的數據,請輸出找出的只出現過一次的數據,每組輸出佔一行。(假設其他數字都出現了2次)

樣例輸入

5
1 1 2 2 3
5
123456789 123456788 123456790 123456788 123456789

樣例輸出

3
123456790


代碼:

#include<stdio.h>
int main()
{
    int n,ans,a,i;
    while(scanf("%d",&n)!=EOF)
    {
        ans=0;
        for(i=0;i<n;i++)
        {
            scanf("%d",&a);
            ans^=a;
        }
        printf("%d\n",ans);
    }
    return 0;
} 

分析:我也不知道怎麼分析,就知道“^”這個運算是把兩個數轉化爲二進制之後,相同位置如果相同就是0,不同就爲1.這篇解題報告我會重寫
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章