Submission
Status:
P-PPPPPPPP
Subtask/Task Score:
90/100
Score: 90
User: Kidmaiok
Problemset: แปลงเลขฐาน
Language: cpp
Time: 0.004 second
Submitted On: 2026-10-11 09:40:28
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define ull unsigned long long
#define space << ' '
#define nl << endl
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
string a;
cin >> a;
string t = "", e = "";
int num = 0;
for(int i =0; i < a.size();i++){
if(a[i] <= '9' && a[i] >= '0'){
num += (a[i]-'0')*(pow(16,a.size()-1-i));
}else{
num += (a[i]-'A'+10)*(pow(16,a.size()-1-i));
}
}
int temp = num;
while(temp >= 8){
e += char('0' + temp%8);
temp -= temp%8;
temp /= 8;
if(temp < 8){
e += char('0'+ temp);
}
}
reverse(e.begin(),e.end());
int temp2 = num;
while(temp2 >= 2){
t += char('0' + temp2%2);
temp2 -= temp2%2;
temp2 /= 2;
if(temp2 < 2){
t += char('0'+ temp2);
}
}
reverse(t.begin(),t.end());
if(num == 0){
cout << "0" nl << "0";
return 0;
}
cout << t << "\n" << e;
}