文章

68

粉丝

19

获赞

375

访问

45.0k

头像
十进制和二进制 题解:
P1176 清华大学上机题
发布于2025年8月1日 19:52
阅读数 48

#include <iostream>
#include <algorithm>
#include <vector>

using namespace std;

int r;
string a, b;

vector<int> div(vector<int> A)
{
	r = 0;
	vector<int> s;
	bool flag = false;
	
	for (int i = 0; i < A.size(); i ++)
	{
		int c = (r * 10 + A[i]) / 2;
		if (c != 0 || (c == 0 && flag))
		{
			s.push_back(c);
			flag = true;
		}
		r = (r * 10 + A[i]) % 2;
	}
	if (s.size() == 0) s.push_back(0);
	
	return s;
}

vector<int> add(vector<int> A, vector<int> B)
{
	int c = 0;
	vector<int> s;
	
	for (int i = 0; i < A.size() || i < B.size(); i ++)
	{
		if (i < A.size()) c += A[i];
		if (i < B.size()) c += B[i];
		
		s.push_back(c % 10);
		c /= 10;
	}
	if (c) s.push_back(c);
	
	return s;
}

vector<int> mul(vector<int> A)
{
	int c = 0;
	vector<int> m;
	for (int i = 0; i < A.size(); i ++)
	{
		c += A[i] * 2;
		m.push_back(c % 10);
		c /=...
登录查看完整内容


登录后发布评论

暂无评论,来抢沙发