Submission

Status:

PPPPPPPPPP

Subtask/Task Score:

100/100

Score: 100

User: letdown

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

Language: cpp

Time: 0.002 second

Submitted On: 2025-10-07 14:24:03

#include <bits/stdc++.h>

using namespace std;

int main() {
    string n, bin="", oct="";
    cin >> n;

    int dec = 0;
    for (int i = n.length() - 1; i >= 0; i--) {
        if (n[i] <= '9') dec += int(n[i] - '0') * pow(16, n.length() - i-1);
        else dec += int(n[i] - 'A' + 10) * pow(16, n.length() - i-1);
    }
    
    int d = dec;
    while (d > 0)
    {
        int digit = d % 2;
        d /= 2;
        bin += char(digit + '0');
    }
    reverse(bin.begin(), bin.end());
    
    d = dec;
    while (d > 0)
    {
        int digit = d % 8;
        d /= 8;
        oct += char(digit + '0');
    }
    reverse(oct.begin(), oct.end());
    cout << bin << endl << oct;
}