如果余数为负数,就让商加1:bei=a/b+1
然后再算余数:yu=a-bei*b
代码:
#include <iostream>
using namespace std;
char c[21]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F','G','H','I','J','K'};
void change(int a,int b){
int temp=a%b;
if(a==0){
return;
}else{
if(temp<0){
change(a/b+1,b);
cout<<c[a-(a/b+1)*b];
}else{
change(a/b,b);
cout<<c[temp];
}
}
}
int main() {
int a,b;
cin>>a>>b;
cout<<a<<"=";
change(a,b);
cout<<"(base"<<b<<')'<<endl;
return 0;
}