Submission

Status:

PPPPPPPPPP

Subtask/Task Score:

100/100

Score: 100

User: punzacp555

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

Language: cpp

Time: 0.004 second

Submitted On: 2026-09-25 13:59:02

#include <bits/stdc++.h>
using namespace std;

int main() {
    cin.tie(0)->sync_with_stdio(0);
    string s;
    cin >> s;
    int n = s.size();

    int val = 0;
    for(int i=n-1; i>=0; i--) {
        if(s[i]-'A'<= 5 && s[i]-'A'>=0) {
            val += (s[i]-'A'+10) * pow(16, n-1-i);
            continue;
        }
        val += (s[i]-'0') * pow(16, n-1-i);
    }

    string base2 = "", base8 = "";
    int val2 = val;
    
    while(val > 0) {
        base2 = to_string(val-val/2*2) + base2;
        val /= 2;
    }

    while(val2 > 0) {
        base8 = to_string(val2-val2/8*8) + base8;
        val2 /= 8;
    }


    cout << base2 << "\n" << base8;

    return 0;
}