/*2008-08-04 16:57:04 Accepted 1334 C++ 00:00.00 840K 天将降大任于我
Basically Speaking 进制转换 最近状态不好,A一道题A到吐血。
将n进制首先转换为10进制,再将10进制转换为k进制
*/
#include<iostream>
#include<cmath>
using namespace std;
const int N=20;
char c[N+1];
int main()
{
int i,j,t,n,k,s;
while(scanf("%s%d%d",c,&n,&k)!=EOF)
{
s=0;
t=strlen(c);
for(i=t-1;i>=0;i--)
if(c[i]>='0'&&c[i]<='9') s+=(c[i]-'0')*(int)pow((double)n,t-1-i);
else s+=(c[i]+10-'A')*(int)pow(double(n),t-1-i);
j=0;
while(s)
{ int r=s%k;
if(r>=10) c[j++]=r-10+'A';
else c[j++]=r+'0';
s/=k;
}
if(j>7) printf(" ERROR\n"); //开始时判断条件为j>6,因为j是从0开始的,到6刚好7个数字的宽度,但是不明白为什么一定要多出一个来,这里起码增加了不止10WA
else{
while(j<7) c[j++]=' ';
for(i=j-1;i>=0;i--) printf("%c",c[i]);
printf("\n");
}
}
return 0;
}
心难泰,世风坏,旧时正气今何在?正义寡,人情薄,闻道虽多,茅塞不开。怪!怪!怪!
空等待,几多载,冲出重围人心快!暴雨打,狂风袭,任他折磨,此志难改。耐!耐!耐!