Submission
Status:
PPPPPPPPPP
Subtask/Task Score:
100/100
Score: 100
User: goine
Problemset: แปลงเลขฐาน
Language: cpp
Time: 0.002 second
Submitted On: 2025-10-12 11:01:34
#include<iostream>
#include<map>
#include<algorithm>
using namespace std;
map<char, int> trans = {
{'0', 0},
{'1', 1},
{'2', 2},
{'3', 3},
{'4', 4},
{'5', 5},
{'6', 6},
{'7', 7},
{'8', 8},
{'9', 9},
{'A', 10},
{'B', 11},
{'C', 12},
{'D', 13},
{'E', 14},
{'F', 15},
};
int main() {
string x;
cin >> x;
int sum = 0;
for (int i = 0; i < x.length(); i++) {
sum *= 16;
sum += trans[x[i]];
}
string ans1;
string ans2;
int s = sum;
while (sum > 0) {
ans1 += sum % 2 + '0';
sum /= 2;
}
while (s > 0) {
ans2 += s % 8 + '0';
s /= 8;
}
reverse(ans1.begin(), ans1.end());
reverse(ans2.begin(), ans2.end());
cout << ans1 << '\n';
cout << ans2 << '\n';
return 0;
}