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;
}