专栏文章

B进制星球

题解参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@mio1sb88
此快照首次捕获于
2025/12/02 11:58
3 个月前
此快照最后确认于
2025/12/02 11:58
3 个月前
查看原文
CPP
#include <bits/stdc++.h>
using namespace std;

int c_i(char c) {
	if (c >= '0' && c <= '9')
		return c - '0';
	else
		return c - 'A' + 10;
}

char i_c(int n) {
	if (n >= 10)
		return n - 10 + 'A';
	else
		return n + '0';
}

int main() {
	int r;
	string a, b, c = "";
	cin >> r >> a >> b;
	int la = a.size(), lb = b.size(), k = 0;
	if (la > lb)
		for (int i = 0; i < la - lb; i++)
			b = '0' + b;
	else
		for (int i = 0; i < lb - la; i++)
			a = '0' + a;
	int len = a.size();
	for (int i = len - 1; i >= 0; i--) {
		int t = c_i(a[i]) + c_i(b[i]) + k;
		k = t / r;
		t %= r;
		c = i_c(t) + c;
	}
	if (k != 0)
		c = '1' + c;
	cout << c;

	return 0;
}

评论

0 条评论,欢迎与作者交流。

正在加载评论...