Submission
Status:
PPPPPPPPPP
Subtask/Task Score:
100/100
Score: 100
User: FIrmTInn
Problemset: แปลงเลขฐาน
Language: cpp
Time: 0.003 second
Submitted On: 2025-10-11 22:38:30
#include<iostream>
#include<string>
#include<cmath>
using namespace std;
int main(){
long long sum = 0;
string str;
cin >> str;
int n = str.length(),m,count1 = 0,count2 = 0;
int val,arr1[20],arr2[20];
for(int i=0;i<n;i++){
if(str[i] >= '0' && str[i] <= '9'){
val = str[i] - '0';
}
else if(str[i]>='A' && str[i] <='F'){
val = (str[i] - 'A') + 10;
}
else if(str[i]>='a' && str[i] <='f'){
val = (str[i] - 'a') + 10;
}
else{
return 0;
}
sum += val*pow(16,n-1-i);
}
for(int i=sum;i>0;i/=2){
m = i%2;
arr1[count1] = m;
count1++;
}
for(int i=sum;i>0;i/=8){
m = i%8;
arr2[count2] = m;
count2++;
}
for(int i=count1-1;i>=0;i--){
cout << arr1[i];
}
cout << "\n";
for(int i=count2-1;i>=0;i--){
cout << arr2[i];
}
return 0;
}