社区讨论

10分求调

B3869[GESP202309 四级] 进制转换参与者 1已保存回复 0

讨论操作

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

当前回复
0 条
当前快照
1 份
快照标识符
@mjmwjo8j
此快照首次捕获于
2025/12/26 21:23
2 个月前
此快照最后确认于
2025/12/28 17:20
2 个月前
查看原帖
如图所示,10分求调
CPP
#include<bits/stdc++.h>
using namespace std;
int n;
//请先从第24行开始看起8

int toint(int k, char c) { //继续还债吧
	if (c <= '9') {
		return (c - '0');
	} else {
		return (c - 'A' + 10);
	}
}//终于还清贷款了!

long long toten(int k, char str[]) { //还债来了
	int l = strlen(str);
	long long res = 0;
	int pw = 1; //pow
	for (int i = l - 1; i >= 0; i--) {
		res += pw * toint(k, str[i]); //又欠了一点小钱
		pw *= k;
	}
	return res;
}//虽然还了一些钱,但是又欠了一笔钱
//没办法,继续还钱吧(转至第4行)

int main() {
	cin >> n;
	for (int i = 1; i <= n; i++) {
		int k = 0;
		char str[12];//十六进制ABCDEF
		cin >> k >> str;
		cout << toten(k, str) << endl; //欠点小债
	}
	//虽然框架写好了,但是欠了一笔钱
	//不还钱怎么行?还是得还钱A!(转至第12行)
	return 0;//完结撒花
}

回复

0 条回复,欢迎继续交流。

正在加载回复...