Submission

Status:

PPPPPPPPPP

Subtask/Task Score:

100/100

Score: 100

User: boygunner

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

Language: cpp

Time: 0.002 second

Submitted On: 2026-10-03 16:07:42

#include<bits/stdc++.h>
using namespace std;

string dec_oct(int num){
	string oct;
	while(num){
		oct=oct+(char)(num%8+'0');
		num=num/8;
	}
	reverse(oct.begin(),oct.end());
	return oct;
}

string dec_bi(int num){
	string bi;
	while(num){
		bi=bi+(char)(num%2+'0');
		num=num/2;
		//cout<<bi<<' '<<num<<"\n";
	}
		reverse(bi.begin(),bi.end());
	return bi;
}

int hextodec(string hex){
	int digit=1,dec=0;
	for(int i=hex.length()-1;i>=0;i--){
		if(hex[i]>='0' && hex[i]<='9'){
			dec=dec+(hex[i]-'0')*digit;
			digit = digit *16;
		}
		else
		{
			dec=dec+(hex[i]-'A'+10)*digit;
			digit = digit *16;
		}
	}
	return dec;
	
}

int main(){
	int dec;
	string hex;
	cin>>hex;
	dec=hextodec(hex);
	cout<<dec_bi(dec)<<endl;
	cout<<dec_oct(dec);
}