Submission
Status:
PPPPPPPPPP
Subtask/Task Score:
100/100
Score: 100
User: Neozaawwman1
Problemset: แปลงเลขฐาน
Language: cpp
Time: 0.003 second
Submitted On: 2025-10-07 21:02:14
#include <bits/stdc++.h>
using namespace std;
int change(string num, int base){
int sum=0;
for(int i=0; i<num.length(); i++){
int hex;
if(num[i]>='A' && num[i]<='Z'){
hex = num[i]-'A'+10;
}else{
hex = num[i]-'0';
}
sum=sum+hex*pow(base,num.length()-i-1);
}
return sum;
}
void output(int num, int base){
vector<char> arr;
while(num!=0){
int ans=num%base;
char hex;
if(ans>=10){
hex = ans-10+'A';
}else{
hex = ans+'0';
}
num=num/base;
arr.push_back(hex);
}
for(int i=arr.size()-1; i>=0; i--){
cout<<arr[i];
}
cout<<endl;
}
int main(){
string num; cin>>num;
int sum = change(num, 16);
output(sum, 2);
output(sum, 8);
return 0;
}