0分求助
查看原帖
0分求助
1081521
Sci_8633楼主2024/3/5 21:16
#include<bits/stdc++.h>
using namespace std;
int a,b,s2; //a:s的进制,b:s转化完后的进制,s2:将字符串s转化为可计算的十进制数字 
string s,sx; //sx:将s2转化为b进制 
int main(){
	cin>>a>>s>>b;
	int len=s.size();
	for(int i=0;i<len;++i){
		if(s[i]>='A')	s2+=int(s[i]-'7')*pow(a,len-i-1);
		else	s2+=(s[i]-'0')*pow(a,len-i-1);
	}
	for(int i=s2;i>=1;i/=b){
		if(s2%b>=10){
			sx+=char(s2%b+'7');
		}
		else	sx+=s2%b+'0';
	}
	reverse(sx.begin(),sx.end());
	cout<<sx;
	return 0;
}
2024/3/5 21:16
加载中...