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;
}