40分求助
查看原帖
40分求助
760019
ZS_Lichi楼主2024/3/17 13:56
#include <iostream>
#include <string>
using namespace std;

string digit = "0123456789ABCDEF";

int mtoD(int m, string s)
{
	int ans = 0;
	for (int i = 0;i <= s.size() - 1;i++)
	{
		if (s[i] < '9')
		{
			ans = ans * m + int(s[i] - 48);
		}
		else
		{
			ans = ans * m + (s[i] - 'A' + 10);
		}
	}
	return ans;
}

string Dtom(int n, int m)
{
	string ans = "";
	while (n > 0)
	{
		ans = digit[n % m] + ans;  
		n /= m;
	}
	return ans;
}

int main()
{
	int m, k;
	string s;
	cin >> m >> s >> k;
	int num = mtoD(m,s);  
	cout << Dtom(num,k) << endl;
	return 0;
}


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