Submission
Status:
PPPPPPPPPP
Subtask/Task Score:
100/100
Score: 100
User: onlyme910
Problemset: แปลงเลขฐาน
Language: cpp
Time: 0.002 second
Submitted On: 2025-10-08 20:22:49
#include <bits/stdc++.h>
using namespace std;
int basetodec(int base, string s) {
int dec = 0, digit, l = s.length();
for (int i = 0; i < l; i++) {
char cur = s[l-i-1];
if (cur <= '9' && cur >= '0') digit = cur - '0';
else digit = cur - 'A' + 10;
dec += digit * pow(base, i);
}
return dec;
}
void dectobase(int base,int n){
string r = "";
char k;
while(n > 0){
if(n%base < 10)k = (n%base)+'0';
else k = (n%base)-10+'A';
r += k;
n /= base;
}
reverse(r.begin(), r.end());
cout << r << endl;
}
int main(){
string s;cin >> s;
int dec = basetodec(16,s);
dectobase(2,dec);
dectobase(8,dec);
}