yxc高精度除法
#include<iostream>
#include<cstring>
#include<algorithm>
#include<vector>
using namespace std;
vector<int> div(vector<int> nums, int m)
{
vector<int> res;
int r = 0;
for(int i = nums.size() - 1; i >= 0; i--)
{
r = r * 10 + nums[i];
res.push_back(r / m);
r = r % m;
}
reverse(res.begin(), res.end());
while(res.size() && res.back() == 0) res.pop_back();
return res;
}
int main()
{
string s;
while(cin >> s)
{
vector<int> nums;
for(int i = s.size() - 1; i >= 0; i--)
nums.push_back(s[i] - '0');
string res;
if(s == "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;
}
return 0;
}