Submission

Status:

PPPPPPPPPP

Subtask/Task Score:

100/100

Score: 100

User: wleo.lwo

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

Language: cpp

Time: 0.003 second

Submitted On: 2025-10-01 20:39:14

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

int main(){

    char str[100];
    int arr[100];
    scanf("%s",str);
    int al;
    al=strlen(str);
    int num=0;

    for (int i=0;i<al;i++){
        
        if(str[i]>=65 && str[i]<=70){
            arr[i]=str[i]-55;
        }
        else arr[i]=str[i]-48;
        
        num=num+arr[i]*pow(16,al-i-1);
    }
    
    int num2=num;
    
    int bin2[100];
    
    if(num==0) printf("0");
    else{
    	int i=0;
    	while(num>0){
    		bin2[i]=num%2;
    		num=num/2;
    		i++;
		}
		for (int j=i-1;j>=0;j--){
			printf("%d",bin2[j]);
		}
	}
	
	printf("\n");
    
    int bin8[100];
    
    if(num2==0) printf("0");
    else{
    	int i=0;
    	while(num2>0){
    		bin8[i]=num2%8;
    		num2=num2/8;
    		i++;
		}
		for (int j=i-1;j>=0;j--){
			printf("%d",bin8[j]);
		}
	}

    





    return 0;
}