#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int maxn = 50;
char s1[maxn], s2[maxn];
void convert(char *in, int base1, int base2, char *out)
{
out[0] = '\0';
int num = 0;
for (int i = 0; in[i] != '\0'; i++)
{
if (in[i] >= 'A' && in[i] <= 'F')
num = num*base1 + in[i] - 'A' + 10;
else
num = num*base1 + in[i] - '0';
}
int i = 0, tmp;
while (num)
{
tmp = num%base2;
num /= base2;
if (tmp >= 10)
out[i++] = tmp - 10 + 'A';
else
out[i++] = tmp + '0';
}
out[i] = '\0';
reverse(out, out + i);
}
int main()
{
int base1, base2;
while (scanf("%s%d%d",s1,&base1,&base2)==3)
{
convert(s1, base1, base2, s2);
if (strlen(s2)>7)
printf(" ERROR\n");
else
{
for (int i = 0; i<7 - strlen(s2); i++)
printf(" ");
printf("%s\n", s2);
}
}
return 0;
}
Zoj1334
最新推荐文章于 2017-05-04 10:39:09 发布