Submission

Status:

PPPPPPPPPP

Subtask/Task Score:

100/100

Score: 100

User: mrblbb

Problemset: แปลงเลขฐาน

Language: cpp

Time: 0.002 second

Submitted On: 2025-10-13 00:05:49

#include <stdio.h>
#include <math.h>
#include <string.h>

int main(){
    char num[] = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
    char sixteen[4];
    int ten=0;
    int n2[20];
    int n8[10];
    scanf("%s", sixteen);
    for (int i=0; i<strlen(sixteen); i++){
        for (int j=0; j<16;j++){
            if (sixteen[i] == num[j]){
                ten+= j* pow(16, strlen(sixteen)-i-1);
            }
        }
    }
    int a=ten;
    int g=0;
    while (a>0){
        n2[g] = a%2;
        a=a/2;
        g++;
    }
    for (int i=g-1; i>=0; i--){
        printf("%d", n2[i]);
    }
    printf("\n");
    int b=ten;
    int k=0;
    while (b>0){
        n8[k] = b%8;
        b = b/8;
        k++;
    }
    for (int i=k-1; i>=0; i--){
        printf("%d", n8[i]);
    }
}