介绍

原理就不多讲了,如果有不懂得可以看这里
注意当s[i]是字母的时候就行了。

源码

#include <bits/stdc++.h>

using namespace std;


int main()
{
	// 任意进制转换为十进制
	string s;
	cin >> s;

	int n, res = 0;
	cin >> n;

	int cnt = 0;
	for (int i = s.size() - 1; i >= 0; i -- )
	{
		if (s[i] >= 'A' and s[i] <= 'Z')
		{
			res += (s[i] - 'A' + 10) * pow(n, cnt ++);
		}
		else
		{
			res += (s[i] - '0') * pow(n, cnt ++ );
		}
	}

	cout << res << endl;

	return 0;
}