Submission

Status:

PPPPPPPPPP

Subtask/Task Score:

100/100

Score: 100

User: Weathery

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

Language: cpp

Time: 0.004 second

Submitted On: 2026-10-07 12:49:44

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

int main() {
	string n;
	int i,j,k=1,c,s,d=0;
	cin >> n;
	c=n.size();
	for (i=c-1;i>=0;i--){
		if (n[i]>='A' && n[i]<='F') {
			d+=(n[i]-55)*k;
		} else {
			d+=(n[i]-'0')*k;
		}
		k*=16;
	}
	s=d;
	if (s==0) {
	    cout << 0;
	    return 0;
	}
	vector <int> v;
	while (s>0) {
	    v.push_back(s%2);
	    s/=2;
	}
	reverse(v.begin(),v.end());
	for (i=0;i<v.size();i++) {
		cout << v[i];
	}
	cout <<endl;
	s=d;
	if (s==0) {
	    cout << 0;
	    return 0;
	}
	v.clear();
	while (s>0) {
	    v.push_back(s%8);
	    s/=8;
	}
	reverse(v.begin(),v.end());
	for (i=0;i<v.size();i++) {
		cout << v[i];
	}
}