Submission

Status:

PPPPPPPPPP

Subtask/Task Score:

100/100

Score: 100

User: colo39

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

Language: cpp

Time: 0.004 second

Submitted On: 2026-10-01 13:28:07

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

int main () {
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    string s;
    cin >> s;
    int sz = s.size();
    int base_10 = 0;
    int j = 0;
    for (int i = sz - 1;i >= 0;i--) {
        if (isdigit(s[j])) {
            base_10 += pow(16,i) * (s[j] - '0');
        } else {
            if (s[j] == 'A') base_10 += pow(16,i) * (10);
            if (s[j] == 'B') base_10 += pow(16,i) * (11);
            if (s[j] == 'C') base_10 += pow(16,i) * (12);
            if (s[j] == 'D') base_10 += pow(16,i) * (13);
            if (s[j] == 'E') base_10 += pow(16,i) * (14);
            if (s[j] == 'F') base_10 += pow(16,i) * (15);
        }
        j++;
    }
    //cout << base_10;
    int base_102 = base_10;
    string ans = "";
    while (base_102 != 0) {
        ans = to_string(base_102 % 2) + ans;
        base_102 /= 2;
    }
    cout << ans << endl; 
    ans = "";

    while (base_10 != 0) {
        ans = to_string(base_10 % 8) + ans;
        base_10 /= 8;
    }
    cout << ans;
}