社区讨论
20分,debug吧。
P1143进制转换参与者 4已保存回复 5
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 5 条
- 当前快照
- 1 份
- 快照标识符
- @m26vx9rz
- 此快照首次捕获于
- 2024/10/13 09:06 去年
- 此快照最后确认于
- 2024/10/13 11:31 去年
CPP
#include<iostream>
#include<cmath>
using namespace std;
long long fn1(long long n,string k){
long long ans=0;
for(long long i=0;i<k.length();i++){
long long t1=k[i],t2=k.length()-1-i;
if(t1>=48 && t1<=90) t1=t1-48;
else if(t1>=65 && t1<=90) t1=t1-55;
else t1=t1-87;
ans+=t1*pow(n,t2);
}
return ans;
}
string fn2(long long k,int m){
string ans="";
long long k1=k;
long long k2=99999;
while(k1>=m){
k2=k1%m;
k1=k1/m;
char t = k2;
if(k2>=0 && k2<=9) t=t+48;
else t=t+55;
ans+=t;
}
char t2=k1;
if(k1>=0 && k1<=9) t2+=48;
else t2+=55;
ans+=t2;
string l="";
for(long long i=ans.length()-1;i>=0;i--) l+=ans[i];
return l;
}
int main(){
string k;
long long n,m;
cin>>n>>k>>m;
long long t=fn1(n,k);
cout<<fn2(t,m);
return 0;
}
42行代码,20分
回复
共 5 条回复,欢迎继续交流。
正在加载回复...