0分,求调
查看原帖
0分,求调
847725
yonglooksanlivi楼主2024/6/26 20:52

提交在题目里的码是这个:

#include<bits/stdc++.h>
using namespace std;
long long x, a[150], ans[1010];
string s;

long long enzi(char d) {
	if (d >= '0' && d <= '9') {
		return d - '0';
	}
	return d - 'A' + 10;
}

int main() {
	long long n;
	cin >> n;
	for (int i = 1; i <= n; i++) {
		cin >> x >> s;
		long long len = s.length();
		for (long long i = len - 1; i >= 0; i--) {
			a[len - i - 1] = enzi(s[i]);
		}
		long long w = 1;
		for (long long i = 0; i < len; i++) {
			ans[i] += a[i] * w;
			w *= x;
		}
	}
	for (long long i = 1; i <= n; i++) {
		cout << ans[i] << endl;;
	}
	return 0;
}

如果把进行转换的主代码挑出来,就能过拆开的样例:

#include<bits/stdc++.h>
using namespace std;
int x, a[150];
string s;

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

int main() {
	cin >> x >> s;
	int len = s.length();
	for (int i = len - 1; i >= 0; i--) {
		a[len - i - 1] = enzi(s[i]);
	}
	int ans = 0, w = 1;
	for (int i = 0; i < len; i++) {
		ans += a[i] * w;
		w *= x;
	}
	cout << ans;
	return 0;
}

求调谢谢dalao

2024/6/26 20:52
加载中...