📄 1131.cpp
字号:
/* This Code is Submitted by wywcgs for Problem 1131 on 2005-03-09 at 19:53:00 */
#include <stdio.h>
int main()
{
char a[7], n[8];
int baseOne, baseTwo, i, j;
long N, baseTwoMax;
while(1){
N = 0;
baseTwoMax = 1;
for(j = 0; j < 8; j++){
if(j < 7){
n[j] = ' ';
a[j] = 0;
}else{
n[7] = '\0';
}
}
for(i = 0; i < 7;){
a[i] = getchar() - '0';
if(a[i] == (EOF - '0')){
return 0;
}else if(a[i] == (' ' - '0') && (i != 0)){
break;
}else if(a[i] != (' ' - '0')){
for(j = 0; j < 6; j++){
if(a[i] >= 0 && a[i] < 10){
break;
}else if(a[i] + '0' - 'A' == j){
a[i] = 10 + j;
break;
}
}
i++;
}
}
scanf("%d %d", &baseOne, &baseTwo);
for(j = 0; j < 7; j++){
if(j < i){
N *= baseOne;
N += a[j];
}
baseTwoMax *= baseTwo;
}
if(N >= baseTwoMax){
printf(" ERROR\n");
}else{
for(j = 0; N > 0; N /= baseTwo, j++){
n[6-j] = N % baseTwo;
switch(n[6-j]){
case 0: case 1: case 2: case 3: case 4:
case 5: case 6: case 7: case 8: case 9:
n[6-j] += '0';
break;
default:
n[6-j] += 'A' - 10;
break;
}
}
printf(n);
printf("\n");
}
while(getchar() != '\n')
;
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -