80分求助
查看原帖
80分求助
1320188
wangmingruiakioi楼主2024/7/14 11:52
#include<bits/stdc++.h>
using namespace std;
int m,n,len;
long long s;
string a,b;
char k[20]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
int main(){
	//freopen("system.in","r",stdin);
	//freopen("system.out","w",stdout);
	cin>>m>>a;
	cin>>n;
	len=a.size();
	for(int i=0;i<len;i++){
		if(a[i]>'9'){
			s+=(a[i]-'A'+10)*pow(m,len-i-1);
		}
		else{
			s+=(a[i]-'0')*pow(m,len-i-1);
		}
	}
	if(s==0){
		printf("0");
		return 0;
	}
	int len2;
	for(len2=0;s;){
		b[len2]='0';
		while(s%(long long)pow(n,len2+1)){
			s-=pow(n,len2);
			b[len2]++;
			if(b[len2]>'9'&&b[len2]<'A')b[len2]='A';
		}
		len2++;
	}
	for(int i=len2-1;i>=0;i--)printf("%c",b[i]);
	return 0;
}
2024/7/14 11:52
加载中...