時間限制:1000ms 空間限制:262144M
題目描述
又到休息時間了。兩個小夥伴要玩撲克牌比大小的遊戲:每人分到一種花色的撲克牌,然後每人随機出一張牌,大者勝,最後獲勝次數多的人,赢一輪。不開心的事發生了,玩了一輪後,發現撲克牌竟然少了一張。到底少了幾呢?
你能寫個程式,快速找到撲克x嗎?
輸入
輸入一行,包括25個用空格分隔的數字(A表示為1,J、Q、K表示為11、12、13)。
輸出
輸出數字x,表示缺少的撲克牌數字。
樣例輸入
9 1 13 2 6 10 7 8 3 11 4 1 5 9 10 2 4 3 12 13 11 5 8 6 7
樣例輸出
12
___________________________________________________________________________________________________________________
#include<stdio.h>
int main(){
int n,i,sum=0;
for( i=0;i<25;i++){
scanf("%d",&n);
sum+=n;
}
printf("%d",182-sum);
return 0;
}
___________________________________________________________________________________________________________________
#include <cstdio>
using namespace std;
int main(){
for (int i=1;i<=25;i++){
int ans=0;
int n;
ans^=n;
scanf("%d",&n);
}
}
printf("%d",ans);
return 0;
}
___________________________________________________________________________________________________________________
C++中的異或運算符^
C++中^運算表示的是二進制的異或運算 2^4=6 010^100=110
使用該運算可以實作無中間變量兩數字的兌換
下面的例子實作a和b的置換
a=2;
b=4;
a=a^b;
b=a^b;
a=a^b;
異或^是一個非常重要的運算符,大量問題可以利用異或的特點找到解決方案,尤其是在各大公司的面試題中。異或絕對是一個關鍵的運算符。
例如:
http://zhedahht.blog.163.com/blog/static/2541117420071128950682/
http://www.cnblogs.com/coser/archive/2011/03/08/1976949.html