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;
}