Submission

Status:

PPPPPPPPPP

Subtask/Task Score:

100/100

Score: 100

User: spammer_destroyer

Problemset: แปลงเลขฐาน

Language: cpp

Time: 0.003 second

Submitted On: 2025-10-12 12:49:58

//c1_bkk66_2
#include <iostream>
#include <string>
using namespace std;
string b2(char c) {
  if(c=='0'){return "0000";}
  if(c=='1'){return "0001";}
  if(c=='2'){return "0010";}
  if(c=='3'){return "0011";}
  if(c=='4'){return "0100";}
  if(c=='5'){return "0101";}
  if(c=='6'){return "0110";}
  if(c=='7'){return "0111";}
  if(c=='8'){return "1000";}
  if(c=='9'){return "1001";}
  if(c=='A'){return "1010";}
  if(c=='B'){return "1011";}
  if(c=='C'){return "1100";}
  if(c=='D'){return "1101";}
  if(c=='E'){return "1110";}
  if(c=='F'){return "1111";}
}
string b8(string c) {
  if(c=="000"){return "0";}
  if(c=="001"){return "1";}
  if(c=="010"){return "2";}
  if(c=="011"){return "3";}
  if(c=="100"){return "4";}
  if(c=="101"){return "5";}
  if(c=="110"){return "6";}
  if(c=="111"){return "7";}
}
int main() 
{
    int i;
    string str;
    string base2,base8;
    string temp;
    cin>>str;
    for(i=0;i<str.length();i++) {
      base2+=b2(str[i]);
    }
    while(base2[0]=='0'&&base2.length()>1) {
      base2.erase(0,1);
    }
    cout << base2 << "\n";
    while(base2.length()%3!=0) {
      base2.insert(0,1,'0');
    }
    for(i=0;i<base2.length();i+=3) {
      base8+=b8(base2.substr(i,3));
    }
    while(base8[0]=='0'&&base8.length()>1) {
      base8.erase(0,1);
    }
    cout << base8;
    return 0;
}