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