Submission
Status:
PPPPPPPPPP
Score: 100
User: Spongebob
Problemset: แปลงเลขฐาน
Language: c
Time: 0.002 second
Submitted On: 2024-10-16 19:58:28
#include <stdio.h>
#include <string.h>
#include <math.h>
int main () {
char input[5];
int i, len;
scanf("%4s", input);
int base10 = 0;
char base2[18];
int index_base2 = 0;
char base8[18];
int index_base8 = 0;
int temp;
len = strlen(input);
for (i = len-1; i >= 0; i--) {
if ('0' <= input[i] && input[i] <= '9') base10 += (input[i] - '0')*pow(16, len-1-i);
else base10 += ((input[i] -'A') + 10)*pow(16, len-1-i);
}
if (base10 == 0) {
printf("0\n0");
}
temp = base10;
while (temp) {
base2[index_base2] = (temp % 2) + '0';
index_base2++;
temp /= 2;
}
temp = base10;
while (temp) {
base8[index_base8] = (temp % 8) + '0';
index_base8++;
temp /= 8;
}
for (i = index_base2-1; i >= 0; i--) {
printf("%c", base2[i]);
}
printf("\n");
for (i = index_base8-1; i >= 0; i--) {
printf("%c", base8[i]);
}
return 0;
}