1. 程式人生 > >京東-2017-異或

京東-2017-異或

題目 using 轉化 char n) 數值 bits main 個數

題目描述 :
現在輸入兩個n位二進制數,輸出它們異或結果的十進制答案。上述樣例中異或的二進制結果為1000,轉化成十進制就是8。
輸入:
輸入有三行,第一行一個數n(1<=n<=20),接下來兩行有兩個n位二進制數。輸入的二進制數可能有前導零。
輸出
輸出一個數,異或結果的十進制數值,不要輸出前導零。
樣例輸入
4
1100
0100

輸出:異或的十進制結果。

其實很無腦,把數值轉成十進制直接用異或來算就行。

#include<bits/stdc++.h>
using namespace std;
char s[100];
int getnum(int n){
    int ans = 0
; for(int i = 0; i < n; i++){ ans *= 2; ans += s[i] - 0; } return ans; } int main(){ int n; scanf("%d", &n); scanf("%s", s); int a = getnum(n); scanf("%s", s); int b = getnum(n); printf("%d\n", a ^ b); return 0; }

京東-2017-異或