在意識到軟體開發有很多錢可賺之後,農夫約翰開辦了一家小型企業,為當地農業行業的客戶編寫簡短的程式。
他的第一個程式設計任務對他來說似乎非常簡單:他的客戶希望他編寫一個程式,該程式将數字 作為輸入,并将 作為輸出。
約翰剛剛寫完這個簡單的程式,他的客戶就驚慌失措的給他打電話,告訴他輸入和輸出都必須用二進制數字表示,而且這些數字可能很大。
請幫助約翰完成他的程式設計任務。
給定一個用二進制表示并且不超過 位的輸入數字 ,輸出二進制表示下的 。
輸入格式
一個不超過 位的二進制數字 。
輸出格式
輸出二進制表示下的 。
輸入樣例:
10110111
輸出樣例:
110000100111
#include<iostream>
#include<vector>
using namespace std;
string A;
vector<int> mul(vector<int> &a, int c){
vector<int> b;
int t = 0;
for(int i = 0; i < a.size() || t; i++){
if(i < a.size()) t += a[i] * c;
b.push_back(t % 2);
t /= 2;
}
return b;
}
int main(){
cin >> A;
vector<int> a, b;
for(int i = A.size() - 1; i >= 0; i--) a.push_back(A[i]-'0');
b = mul(a, 17);
for(int i = b.size()-1; i >= 0; i--) cout << b[i];
return 0;
}