文章

34

粉丝

0

获赞

344

访问

6.4k

头像
进制转换3 题解:
P1422 清华大学/厦门大学机试题
发布于2026年3月5日 15:04
阅读数 392

#include <bits/stdc++.h>
using namespace std;

int main(){
	int M,N;
	char X[10005];
	scanf("%d %d",&M,&N);
	scanf("%s",X);
	int len=strlen(X);
	long long num=0;
	for(int i=0;i<len;i++){
		num*=M;
		if(X[i]>='0'&&X[i]<='9') num=num+(X[i]-'0');
			else num=num+(X[i]-'A')+10;
		}
	int arc=0;
	char tmp[100005];
	while(num>0){
		if(num%N<10) tmp[arc++]=num%N+'0';
		else tmp[arc++]=(num%N-10)+'a';
		num=num/N;
	}
	for(int i=arc-1;i>=0;i--){	
		printf("%c",tmp[i]);
	}
	if(arc==0) printf("%d",arc);
	return 0;
}

 

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发