60分求助
  • 板块P1143 进制转换
  • 楼主KY_ABC
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/2/23 21:34
  • 上次更新2024/2/24 07:45:41
查看原帖
60分求助
1175911
KY_ABC楼主2024/2/23 21:34
#include <bits/stdc++.h>
using namespace std;
int n,m,m_1[10010];
string n_1;
int main(){
	cin>>n>>n_1>>m;
	int k = n;
	int len = n_1.size();
	int num = 0;
	int b = 0;
	for(int i = 0;i<len;i++){
		if(n_1[i]<'A'){
			b=pow(n,len-i-1);
			b*=n_1[i]-'0';
			num+=b;
		}
		else{
			b=pow(n,len-1-i);
			b*=n_1[i]-'A'+10;
			num+=b;
		}
	}
	int i_1 = 0;
	while(num!=0){
		m_1[i_1++] = num%m;
		num/=m;
	}
	for(int i = i_1-1;i>=0;i--){
		if(m_1[i]>=10){
			cout<<m_1[i]+'A'-10;
		}
		else{
			cout<<m_1[i];
		}
	}
	return 0;
}
2024/2/23 21:34
加载中...