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