baihuo @ 2024-10-20 22:49:02
#include<bits/stdc++.h>
using namespace std;
int main(){
long long int z=0,n;
int r,a[200010];
cin>>n>>r;
if(n<r){
if(n>=10){
cout<<char(n+55);
}else if(n<10){
cout<<n;
}
return 0;
}
for(;n>=r;){
z++;
a[z]=n%r;
n=n/r;
}cout<<n;
for(;z>0;z--){
if(a[z]>=10){
cout<<char(a[z]+55);
}if(a[z]<10){
cout<<a[z];
}
}
return 0;
}
by one_four_three @ 2024-10-20 23:02:26
@baihuo
#include<bits/stdc++.h>
#define N 1000005
using namespace std;
int n,r;
char c[30],ans[N];
int main(){
cin>>n>>r;
for(int i=0;i<26;i++) c[i]=char(int('A')+i);//存一下每个数代表的字母
int tmp=1;
while(n){
if (n%r<10) ans[tmp]=char(n%r+'0');//n%r<10就直接是那个数
else ans[tmp]=c[n%r-10];//否则就是对应字母
tmp++;
n/=r;
}
for(int i=tmp-1;i;i--) cout<<ans[i];//倒序输出
return 0;
}
求互关
by baihuo @ 2024-10-20 23:13:29
@one_four_three
已关注,谢谢