Submission
Status:
PPPPPPPPPP
Subtask/Task Score:
100/100
Score: 100
User: Peam
Problemset: แปลงเลขฐาน
Language: c
Time: 0.003 second
Submitted On: 2025-10-08 22:15:03
#include <stdio.h>
int main(){
char s[105];
scanf("%s", s);
int res = 0;
for (int i = 0; s[i] != '\0'; i++) {
if(s[i] >= 'A' && s[i] <= 'Z'){
res = 16 * res + (s[i] - 'A' + 10);
}
else{
res = 16 * res + (s[i] - '0');
}
}
int b10 = res;
//b2
int b2[104], idx = 0, len2 = 0;
while(b10 > 0){
b2[idx++] = b10 % 2;
b10 /= 2;
len2++;
}
//b8
b10 = res;
int b8[103], len8 = 0;
idx = 0;
while(b10 > 0){
b8[idx++] = b10 % 8;
b10 /= 8;
len8++;
}
for(int i = len2 - 1; i >= 0; i--){
printf("%d", b2[i]);
}
printf("\n");
for(int i = len8 - 1; i >= 0; i--){
printf("%d", b8[i]);
}
return 0;
}