Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
180622 C班—刘铠锋 K进制数转L进制数 C++ 无测评数据 0 0 MS 0 KB 875 2024-08-21 16:37:33

Tests(0/0):


#include<iostream> #include<cstring> #include<cmath> using namespace std; int k,l,ansn,n2,ansn2,i; char n[301]; int change(char c) { if(c=='A')return 10; if(c=='B')return 11; if(c=='C')return 12; if(c=='D')return 13; if(c=='E')return 14; if(c=='F')return 15; else return c-48; } char rechange(int X) { if(X==10)return 'A'; if(X==11)return 'B'; if(X==12)return 'C'; if(X==13)return 'D'; if(X==14)return 'E'; if(X==15)return 'F'; else return X+48; } int main() { ios::sync_with_stdio(0); while(scanf("%d %s %d",&k,n,&l)==3) { i=ansn=0; while(i<strlen(n)) { i++; ansn=ansn+change(n[i-1])*pow(k,strlen(n)-i); } ansn2=ansn; string ans="",fians=""; while(ansn2!=0) { ans+=rechange(ansn2%l); ansn2/=l; } for(i=ans.length()-1;i>=0;i--)fians+=ans[i]; cout<<fians<<endl; } return 0; }