Submission

Status:

PPPPPPPPPP

Subtask/Task Score:

100/100

Score: 100

User: IIIIIIIIIIII

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

Language: cpp

Time: 0.002 second

Submitted On: 2026-10-12 11:34:36

#include <iostream>
#include <cmath>
using namespace std;


string s2(int n){
    string h2 = "";
    while(n!=0){
        char digit = (n%2) + '0';
        h2 = digit + h2;
        n/=2;
    }return h2;
}

string s8(int n){
    string h8 = "";
    while(n!=0){
        char digit = (n%8) + '0';
        h8 = digit + h8;
        n/=8;
    }return h8;
}

int s10(string s){
    int k=s.size()-1, num=0;
    for(char c:s){
        if(c=='A') num+=10*pow(16,k);
        else if(c=='B') num+=11*pow(16,k);
        else if(c=='C') num+=12*pow(16,k);
        else if(c=='D') num+=13*pow(16,k);
        else if(c=='E') num+=14*pow(16,k);
        else if(c=='F') num+=15*pow(16,k);
        else{
            int n = c - '0';
            num+=n*(pow(16,k));
        }
        k--; 
    }return num;
}
int main(){
    string s, g2, g8;
    cin >> s;
    int n = s10(s);
    g2 = s2(n);
    g8 = s8(n);
    cout << g2 << '\n';
    cout << g8 << '\n';

}