文章

108

粉丝

0

获赞

99

访问

6.1k

头像
进制转换3 题解:
P1422 清华大学/厦门大学机试题
发布于2026年1月30日 11:23
阅读数 31

#include<iostream>
#include<algorithm>
using namespace std;

typedef long long ll;

string nums;

int main()
{
	string s;
	ll m,n;
	cin>>m>>n;
	cin>>s;
	if(s=="0")
	{
		cout<<0;
		return 0;
	}
	ll num_10=0;
	for(int i=0;i<s.size();i++)
	{
		ll num;
		if(s[i]>='0'&&s[i]<='9')
			num=s[i]-'0';
		else
			num=s[i]-'A'+10;
		num_10=num_10*m+num;
	}
	while(num_10)
	{
		ll x=num_10%n;
		char c;
		if(x<10)
			c='0'+x;
		else
			c='a'+x-10;
		nums.push_back(c);
		num_10/=n;
	}
	reverse(nums.begin(),nums.end());
	cout<<nums;
	return 0;
}

 

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发