Submission

Status:

PPPPPPPPPP

Subtask/Task Score:

100/100

Score: 100

User: asdasd

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

Language: cpp

Time: 0.002 second

Submitted On: 2025-10-12 14:48:32

#include <stdio.h>
#include <math.h>
#include <string.h>
int main(){
    char num[100];
    scanf("%s",num);
    int len = strlen(num);
    int tenbase = 0;
    for(int i = 0 ; i<len ; i++){
        if(num[i]>='A'&& num[i]<='F'){
            tenbase += (num[i]-55)*pow(16,len-i-1);
        }
        else{
            tenbase += (num[i]-'0')*pow(16,len-i-1);
        }
    }
    int mod2[1000];
    int pos2=0;
    for(int i = tenbase ; i>0 ; i = i/2){
        mod2[pos2]=i%2;
        pos2++;
    }
    int mod8[1000];
    int pos8=0;
    for(int i = tenbase ; i>0 ; i = i/8){
        mod8[pos8]=i%8;
        pos8++;
    }
    for(int i = pos2-1 ; i>=0 ; i--){
        printf("%d" ,mod2[i]);
    }
    printf("\n");
    for(int i = pos8-1 ; i>=0 ; i--){
        printf("%d" ,mod8[i]);
    }


}