#include<iostream>
#include<vector>
#include<algorithm>
#include<cstring>
using namespace std;


vector<int> div(vector<int> nums,int b){
    vector<int> res;
    int r = 0;
    for(int i = nums.size()-1;i>=0;i--){
        r = r * 10 + nums[i];
        res.push_back(r / b);
        r %= b;
    }
    reverse(res.begin(),res.end());
    while(res.size() && res.back() == 0) res.pop_back();
    return res;
}

int main(){
    string numStr;
    while(cin>>numStr){
        vector<int> nums;
        int len = numStr.size();
        for(int i=0;i<len;i++){
            nums.push_back(numStr[len-i-1] - '0');
        }
        string res;
        if(numStr=="0") res = "0";
        else{
            while(nums.size()){
                res += to_string(nums[0] % 2);
                nums = div(nums,2);
            }
        }
        reverse(res.begin(),res.end());
        cout<<res<<endl;
    }
    
    
}

更多推荐