Submission
Status:
PPPPPP--PP
Subtask/Task Score:
80/100
Score: 80
User: FakeAnutin
Problemset: แปลงเลขฐาน
Language: cpp
Time: 0.004 second
Submitted On: 2026-09-28 19:54:41
#include <bits/stdc++.h>
using namespace std;
int main(){
int ten=0;
string x; cin>>x;
reverse(x.begin(),x.end());
for(int i=0;i<x.size();i++){
if(x[i] >= 'A'){
ten+= (x[i]-'A'+10)*pow(16,i);
}else{
ten+= (x[i]-'0')*pow(16,i);
}
}
int t=ten;
int e=ten;
vector<int> tw;
vector<int> ew;
if(t==0){
cout<<0<<"\n";
}else{
while(t>=1){
if(t%2==0){
t/=2;
tw.push_back(0);
}else{
t-=1;
t/=2;
tw.push_back(1);
}
}
while(tw.empty() == 0){
cout<<tw.back();
tw.pop_back();
}
cout<<"\n";
}
if(e==0){
cout<<0;
}else{
while(e>=1){
if(e%8==0){
e/=8;
ew.push_back(8);
}else{
ew.push_back(e%8);
e -= e%8;
e/=8;
}
}
while(ew.empty() == 0){
cout<<ew.back();
ew.pop_back();
}
}
}