Submission
Status:
PPPPPPPPPP
Subtask/Task Score:
100/100
Score: 100
User: Trin1506
Problemset: แปลงเลขฐาน
Language: cpp
Time: 0.003 second
Submitted On: 2025-10-09 18:53:59
#include <bits/stdc++.h>
using namespace std;
int main() {
string word, bi, rev,rev8;
string eight;
cin >> word;
unsigned long long num = 0;
unsigned long long power = 1;
for (int i = word.size() - 1; i >= 0; i--) {
int value;
if (word[i] >= 'A' && word[i] <= 'F') value = word[i] - 'A' + 10;
else value = word[i] - '0';
num += value * power;
power *= 16;
}
int num1 = num;
if (num == 0) { cout << 0 << '\n'<<0; return 0; }
while (num > 0) {
bi += (num % 2) + '0';
num /= 2;
}
for (int i = 0; i < bi.size(); i++)
rev += bi[bi.size() - 1 - i];
while(num1>0){
eight+=(num1%8) +'0';
num1/=8;
}
for(int i=0;i<eight.size();i++)rev8+=eight[eight.size()-1-i];
cout << rev <<'\n' << rev8;
}