您的位置:首页 > 其它

HDU 2095 find your present (2)

2011-04-18 02:16 281 查看
在逻辑学中,逻辑算符 异或(符号为XOREOR)是对两个运算元的一种逻辑析取类型。但与一般的逻辑或不同,异或算符的值为仅当两个运算元中恰有一个的值为真,而另外一个的值为非真[1]。转化为命题,就是:“两者的值不同。”或“有且仅有一个为真。”

两个运算元(命题):A与B的异或一般写成A异或B,或者写成AXORB



等等。在C语言中,写作A^B。

异或运算

真值表如下:

AB
FFF
FTT
TFT
TTF
n是奇数,有一个数出现一次,其它数都是偶次。有因为数据量太大,所以用亦或。

亦或满足交换律,相同的两个数亦或为0,任何数和0亦或为其本身。

#include <stdio.h>

int main(){
int ans,n,m;
while(scanf("%d",&n) == 1,n){
ans = 0;
for(int i = 0; i < n; ++i){
scanf("%d",&m);
ans ^= m;
}
printf("%d\n",ans);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: