Submission

Status:

PPPPPPPPPP

Subtask/Task Score:

100/100

Score: 100

User: jamesz

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

Language: cpp

Time: 0.005 second

Submitted On: 2026-10-24 22:11:16

#include<iostream>
#include<cmath>
#include<vector>
using namespace std;
typedef long long ll;
vector<int>v2;
vector<int>v8;
int main(){
	string h;
	cin.tie(0);
	cin>>h;
	ll n10 = 0, b10;
	for(int i = 0; i<h.size(); i++){
		if(h[i] >= '0' && h[i] <= '9'){
			n10+= (h[i]-'0') * pow(16 , h.size()-i-1);
		}
		else{
			n10+= (h[i]-'A'+10) * pow(16 , h.size()-i-1);
		}
	}
	b10 = n10;
	while(b10>0){
		v2.push_back(b10%2);
		b10/=2;
	}
	while(n10>0){
		v8.push_back(n10%8);
		n10/=8;
	}
	for(int i = v2.size()-1; i>=0; i--)
		cout<<v2[i];
	cout<<"\n";
	for(int i = v8.size()-1; i>=0; i--)
		cout<<v8[i];
	return EXIT_SUCCESS;
}