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";
}