Submission
Status:
PPPPPPPPPP
Subtask/Task Score:
100/100
Score: 100
User: IIIIIIIIIIII
Problemset: แปลงเลขฐาน
Language: cpp
Time: 0.002 second
Submitted On: 2026-10-12 11:34:36
#include <iostream>
#include <cmath>
using namespace std;
string s2(int n){
string h2 = "";
while(n!=0){
char digit = (n%2) + '0';
h2 = digit + h2;
n/=2;
}return h2;
}
string s8(int n){
string h8 = "";
while(n!=0){
char digit = (n%8) + '0';
h8 = digit + h8;
n/=8;
}return h8;
}
int s10(string s){
int k=s.size()-1, num=0;
for(char c:s){
if(c=='A') num+=10*pow(16,k);
else if(c=='B') num+=11*pow(16,k);
else if(c=='C') num+=12*pow(16,k);
else if(c=='D') num+=13*pow(16,k);
else if(c=='E') num+=14*pow(16,k);
else if(c=='F') num+=15*pow(16,k);
else{
int n = c - '0';
num+=n*(pow(16,k));
}
k--;
}return num;
}
int main(){
string s, g2, g8;
cin >> s;
int n = s10(s);
g2 = s2(n);
g8 = s8(n);
cout << g2 << '\n';
cout << g8 << '\n';
}