问一下怎么肥四
  • 板块题目总版
  • 楼主LGZX
  • 当前回复3
  • 已保存回复3
  • 发布时间2024/3/11 17:56
  • 上次更新2024/3/11 20:09:22
查看原帖
问一下怎么肥四
1043009
LGZX楼主2024/3/11 17:56
#include <iostream>
#include <cmath>
using namespace std;
int cl(int base, string n) {
	int dl = 0; int pr = 0;
	for (int i = n.size() - 1; i >= 0; i--) {
		int dt;
		if (n[i] >= '0' && n[i] <= '9') {
			dt = n[i] - '0';
		}
		else {
			dt = n[i] - 'A' + 10;
		}
		dl += dt * pow(base, pr);
		pr++;
	}
	return dl;
}
int main(void) {
	int k; int dl[2005];
	int base; string n;
	cin >> k;
	for (int i = 0; i < k; i++) {
		cin >> base >> n; dl[i] = cl(base, n);
	}
	for (int i = 0; i < k; i++) {
		cout << dl[i] << endl;
	} return 0;
}

这项代码应该没有什么大问题

但是在关于16进制转换的时候出了差错

请大佬纠错!

输入案例:

2

8 1362

16 3FO

正确输出:

754

1008

此代码输出:

754

1032

2024/3/11 17:56
加载中...