Submission

Status:

PPPPPPPPPP

Subtask/Task Score:

100/100

Score: 100

User: samsenpisardmoo26

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

Language: cpp

Time: 0.004 second

Submitted On: 2026-10-06 04:47:04

#include <bits/stdc++.h>
using namespace std;
string convert_binary(int n)
{
    if(n == 0) return "0";
    string digit = "01";
    string ans = "";
    while(n!=0)
    {
        int mod = n%2;
        ans = digit[mod] + ans;
        n/=2;
    }
    return ans;
}

string convert_hex(int n)
{
    if(n == 0) return "0";
    string digit = "01234567";
    string ans = "";
    while(n!=0)
    {
        int mod = n%8;
        ans = digit[mod] + ans;
        n/=8;
    }
    return ans;
}

int main()
{
    string s;
    cin >> s;
    
    string digit16 = "0123456789ABCDEF";
    int sum = 0;
    
    for(int i=s.length()-1; i>=0; i--)
    {
        for(int j=0; j<16; j++)
        {
            if(s[i] == digit16[j])
            {
                sum+= j*pow(16,(s.length()-i-1));
            }
        }
    }
    
    cout << convert_binary(sum) << "\n";
    cout << convert_hex(sum) << "\n";
}