Submission
Status:
PPPPPPPPPP
Subtask/Task Score:
100/100
Score: 100
User: erng
Problemset: แปลงเลขฐาน
Language: cpp
Time: 0.003 second
Submitted On: 2025-10-02 21:52:19
#include <iostream>
#include <string>
#include <stack>
using namespace std;
int val, n=1, s, j, k;
string num;
stack<int> a, b;
int main()
{
cin>>num;
for (int i=num.size()-1; i>=0;i--)
{
if (num[i]>='A' && num[i]<='Z')
{
val=val+n*(num[i]-55);
n=n*16;
}
else
{
val=val+(num[i]-'0')*n;
n=n*16;
}
}
s=val;
k=val;
while (k>0)
{
j=k%2;
b.push(j);
k=(k-j)/2;
}
while(!b.empty())
{
cout<<b.top();
b.pop();
}
cout<<'\n';
while (s>0)
{
j=s%8;
a.push(j);
s=(s-j)/8;
}
while(!a.empty())
{
cout<<a.top();
a.pop();
}
}