Submission

Status:

PPPPPPPPPP

Subtask/Task Score:

100/100

Score: 100

User: ThreeDee

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

Language: cpp

Time: 0.002 second

Submitted On: 2025-09-25 15:49:44

#include <bits/stdc++.h>

using namespace std;

int main(){
    int a, b, c[16]={0}, r=0;
    a=0;
    string n;
    cin>>n;
    for(int i=0; i<n.length(); i++){
        if(n[i]>47 && 58>n[i]){
            a+=(n[i]-48)*pow(16,(n.length()-i-1));
        }
        else if(n[i]>64 && 71>n[i]){
            a+=(n[i]-55)*pow(16,(n.length()-i-1));
        }
    }
    b=a;
    while(a>0){
        c[r]=a%2;
        a=a/2;
        r++;
    }
    for(int i=0; i<r; i++)
        cout<<c[r-i-1];
    cout<<"\n";
    c[16]={0};
    r=0;
    while(b>0){
        c[r]=b%8;
        b=b/8;
        r++;
    }
    for(int i=0; i<r; i++)
        cout<<c[r-i-1];
    return 0;
}