Submission
Status:
PPPPPPPPPP
Subtask/Task Score:
100/100
Score: 100
User: Zailagend1
Problemset: แปลงเลขฐาน
Language: cpp
Time: 0.005 second
Submitted On: 2026-09-20 15:35:19
#include<bits/stdc++.h>
using namespace std;
string decimalToBinary(int n);
string decimalToEight(int n);
int main(){
string a;
cin >> a;
unordered_map<char,int> decoder = {
{'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 ten = 0;
for (char x : a) {
ten = ten * 16 + decoder[x];
}
cout << decimalToBinary(ten) << '\n' << decimalToEight(ten);
}
string decimalToBinary(int n) {
if (n == 0) return "0";
string answer;
while (n > 0) {
answer += char('0' + n % 2);
n /= 2;
}
reverse(answer.begin(), answer.end());
return answer;
}
string decimalToEight(int n) {
if (n == 0) return "0";
string answer;
while (n > 0) {
answer += char('0' + n % 8);
n /= 8;
}
reverse(answer.begin(), answer.end());
return answer;
}