测试点2 Accepted / 10ms / 3120kB
测试点3 Accepted / 8ms / 3120kB
测试点4 Accepted / 6ms / 3120kB
测试点5 Accepted / 7ms / 3120kB
#include<iostream>
#include<algorithm>
using namespace std;
int k;
char a[21]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F','G','H','I','J'};
int s[100];
int main()
{
int q,x;
q=x=1;
//cout<<(int)(-16)/(-2)<<endl;
while((q!=0)&&(x!=0))
{
cin>>q>>x;
cout<<q<<"=";
int st=1;
while(q!=0)
{
if(q>0)
{
s[st]=q%x;
q=(int)q/x;
st++;
}
else if(q<0)
{
if((q%x)==0)
{
s[st]=q%x;
q=q/x;
}
else
{
int op=0;
op=(int)q/x;
s[st]=q-(op+1)*x;
q=op+1;
}
st++;
}
//cout<<q<<" "<<s[st-1]<<endl;
}
for(int i=st-1;i>=1;i--)
cout<<a[s[i]];
cout<<"(base"<<x<<")";
}
//system("pause");
return 0;
}