就A了一个T_T(本蒟蒻实在是不会了)
  • 板块P1143 进制转换
  • 楼主dlmm
  • 当前回复3
  • 已保存回复3
  • 发布时间2021/11/10 22:57
  • 上次更新2023/11/4 00:55:40
查看原帖
就A了一个T_T(本蒟蒻实在是不会了)
361712
dlmm楼主2021/11/10 22:57
#include<bits/stdc++.h>
using namespace std;
int sz(char s){
	if(s=='1'){
		return 1;
	}
	if(s=='2'){
		return 2;
	}
	if(s=='3'){
		return 3;
	}
	if(s=='4'){
		return 4;
	}
	if(s=='5'){
		return 5;
	}
	if(s=='6'){
		return 6;
	}
	if(s=='7'){
		return 7;
	}
	if(s=='8'){
		return 8;
	}
	if(s=='9'){
		return 9;
	}
	if(s=='0'){
		return 0;
	}
	if(s=='A'){
		return 10;
	}
	if(s=='B'){
		return 11;
	}
	if(s=='C'){
		return 12;
	}
	if(s=='D'){
		return 13;
	}
	if(s=='E'){
		return 14;
	}
	if(s=='F'){
		return 15;
	}
}
char zm(int n){
	if(n==0){
		return '0';
	}
	if(n==1){
		return '1';
	}
	if(n==2){
		return '2';
	}
	if(n==3){
		return '3';
	}
	if(n==4){
		return '4';
	}
	if(n==5){
		return '5';
	}
	if(n==6){
		return '6';
	}
	if(n==7){
		return '7';
	}
	if(n==8){
		return '8';
	}
	if(n==9){
		return '9';
	}
	if(n==10){
		return 'A';
	}
	if(n==11){
		return 'B';
	}
	if(n==12){
		return 'C';
	}
	if(n==13){
		return 'D';
	}
	if(n==14){
		return 'E';
	}
	if(n==15){
		return 'F';
	}
}
stack<int> st,st1;
int main(){
    int a,b;
    scanf("%d",&a);
    string s;
    cin>>s;
    scanf("%d",&b);
    int slen=s.length();
    long long n=0;
    for(int i=slen-1;i>=0;i--){
    	n+=pow(a,i)*sz(s[i]);
	}
	while(n>0){
		st.push(n%b);
		n=n/b;
	}
	while(!st.empty()){
		cout<<zm(st.top());
		st.pop();
	}
    return 0;
}
2021/11/10 22:57
加载中...