1 #include<stdio.h>
2 #include<algorithm>
3 using namespace std;
4 struct line//建立栈,存放数据
5 {
6 int a[40];
7 int top;
8 }lin;
9 int flag;
10 int main()
11 {
12 int n,r;
13 int ZH(int n,int m);
14 void pr();
15 while(scanf("%d%d",&n,&r)!=EOF)
16 {
17 flag=0;
18 if(n<0)//是否是负数的判定
19 {
20 flag=1;
21 n=-n;
22 }
23 lin.top=-1;
24 ZH(n,r);
25 pr();
26 }
27 return 0;
28 }
29 int ZH(int n,int m)//对输入的数据n,做m进制的转换
30 {
31 if(!n)
32 return 0;
33 lin.a[++lin.top]=n%m;
34 n=n/m;
35 ZH(n,m);
36 }
37 void pr()//控制输出
38 {
39 if(flag)
40 putchar('-');
41 while(lin.top>=0)//判定栈是否空
42 {
43 if(lin.a[lin.top]==10)//十以上的判定输出
44 putchar('A');
45 else if(lin.a[lin.top]==11)
46 putchar('B');
47 else if(lin.a[lin.top]==12)
48 putchar('C');
49 else if(lin.a[lin.top]==13)
50 putchar('D');
51 else if(lin.a[lin.top]==14)
52 putchar('E');
53 else if(lin.a[lin.top]==15)
54 putchar('F');
55 else
56 printf("%d",lin.a[lin.top]);
57 lin.top--;
58 }
59 putchar('\n');
60 }