题目链接:
https://ac.nowcoder.com/acm/contest/19305/1028
#include<iostream>
using namespace std;
int main(){
int n;
cin>>n;
int r;
cin>>r;
int a[20];//存倒序的余数
int k=0;//记录数组存放的数量
cout<<n<<"=";
if(n==0) cout<<0;//特判
while(n){
if(n%r>=0){
a[k]=n%r;
n=n/r;
}
else{
a[k]=n%r-r;//如果取模后所得余数为负数,则让其减去-R来翻转
n=n/r;
n++;//因为减去-R所以n的值向上加1
}
k++;
}
for(int i=k-1;i>=0;--i){
char g;
if(a[i]>=10){
g=a[i]-10+'A';
cout<<g;
}
else{
g=a[i];
cout<<a[i];
}
}
cout<<"(base"<<r<<")";
return 0;
}