Submission

Status:

PPPPPPPPPP

Subtask/Task Score:

100/100

Score: 100

User: Mano

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

Language: cpp

Time: 0.003 second

Submitted On: 2025-10-08 09:44:44

#include<iostream>
#include<cmath>
#include<vector>
using namespace std;
vector<int> two(int x){
    vector<int> neo;
    vector<int> viktor;
    while(x>0){
        viktor.push_back(x%2);
        x/=2;
    }
    for(int i=viktor.size()-1;i>=0;i--){
        neo.push_back(viktor[i]);
    }
    return neo;
}
vector<int> eight(int x){
    vector<int> neo;
    vector<int> viktor;
    while(x>0){
        viktor.push_back(x%8);
        x/=8;
    }
    for(int i=viktor.size()-1;i>=0;i--){
        neo.push_back(viktor[i]);
    }
    return neo;
}
int deci(vector<int> arr){
    int x=0,y=0;
    for(int i=arr.size()-1;i>=0;i--){
        x+=(pow(16,y)*arr[i]);
        y++;
    }
    return x;
}
int main(){
    string str;
    vector<int> arr;
    int x;
    cin>>str;
    for(int i=0;i<str.length();i++){
        if(str[i]>='0' && str[i]<='9'){
            arr.push_back((int)str[i]-'0');
        }else if(str[i]>='A' && str[i]<='F'){
            arr.push_back((int)str[i]-'A'+10);
        }
    }
    x=deci(arr);
    if(x>65535){
        return 0;
    }
    vector<int> dia=two(x);
    for(int i=0;i<dia.size();i++){
        cout<<dia[i];
    }
    cout<<endl;
    vector<int> kita=eight(x);
    for(int i=0;i<kita.size();i++){
        cout<<kita[i];
    }
    return 0;
}