在意识到软件开发有很多钱可赚之后,农夫约翰开办了一家小型企业,为当地农业行业的客户编写简短的程序。
他的第一个编程任务对他来说似乎非常简单:他的客户希望他编写一个程序,该程序将数字 作为输入,并将 作为输出。
约翰刚刚写完这个简单的程序,他的客户就惊慌失措的给他打电话,告诉他输入和输出都必须用二进制数字表示,而且这些数字可能很大。
请帮助约翰完成他的编程任务。
给定一个用二进制表示并且不超过 位的输入数字 ,输出二进制表示下的 。
输入格式
一个不超过 位的二进制数字 。
输出格式
输出二进制表示下的 。
输入样例:
10110111
输出样例:
110000100111
样例解释
给定数字 在十进制表示下为 。
,在二进制表示下为 。
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;
}