Submission
Status:
PPPPPPPPPP
Subtask/Task Score:
100/100
Score: 100
User: Apimuk
Problemset: แปลงเลขฐาน
Language: cpp
Time: 0.003 second
Submitted On: 2025-09-19 23:32:08
#include <iostream>
#include <stack>
#include <string>
#include <algorithm>
#include <vector>
#include <cmath>
using namespace std;
int main() {
string txt;
cin >> txt;
int num = 0;
int power = 1;
int size = txt.length();
for (int i = 0;i < txt.length();i++) {
if (txt[size-1-i] == 'A') {
num = num + (10 * power);
}
if (txt[size - 1 - i] == 'B') {
num = num + (11 * power);
}
if (txt[size - 1 - i] == 'C') {
num = num + (12 * power);
}
if (txt[size - 1 - i] == 'D') {
num = num + (13 * power);
}
if (txt[size - 1 - i] == 'E') {
num = num + (14 * power);
}
if (txt[size - 1 - i] == 'F') {
num = num + (15 * power);
}
if (txt[size - 1 - i] != 'A' && txt[size - 1 - i] != 'B' && txt[size - 1 - i] != 'C' && txt[size - 1 - i] != 'D' && txt[size - 1 - i] != 'E' && txt[size - 1 - i] != 'F') {
num = num + ((txt[size - 1 - i] - '0') * power);
}
power = power * 16;
}
vector<string> base2;
int dived = 0;
int tempbase2 = num;
while (tempbase2 != 0) {
dived = tempbase2 % 2;
tempbase2 = tempbase2 / 2;
base2.push_back(to_string(dived));
}
for (int i = 1; i <= base2.size(); i++) {
cout << base2[base2.size() - i];
}
cout << endl;
vector<string> base8;
dived = 0;
int tempbase8 = num;
while (tempbase8 != 0) {
dived = tempbase8 % 8;
tempbase8 = tempbase8 / 8;
base8.push_back(to_string(dived));
}
for (int i = 1; i <= base8.size(); i++) {
cout << base8[base8.size() - i];
}
}