Submission

Status:

PPPPPPPPPP

Subtask/Task Score:

100/100

Score: 100

User: pixel

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

Language: c

Time: 0.003 second

Submitted On: 2025-10-12 17:21:38

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

int main() {
    
    char n[4];
    scanf("%s",&n);
    int len=strlen(n);
    int i;
    int ten=0;
    
    for(i=0;i<len;i++){
        if(n[i]>='A'&&n[i]<='F'){
            ten+=(n[i]-55)*pow(16,len-i-1);
        }else{
            ten+=(n[i]-'0')*pow(16,len-i-1);
        }
    }
    
    int two[16];
    int t;
    for(i=ten;i>0;i=i/2){
        two[t]=i%2;
        t++;
    }
    int eight[16];
    int e;
    for(i=ten;i>0;i=i/8){
        eight[e]=i%8;
        e++;
    }
    
    for(i=t-1;i>=0;i--){
        printf("%d",two[i]);
    }
    printf("\n");
    for(i=e-1;i>=0;i--){
        printf("%d",eight[i]);
    }
    
    return 0;
}