Submission
Status:
PPPPPPPPPP
Subtask/Task Score:
100/100
Score: 100
User: ztmy_
Problemset: แปลงเลขฐาน
Language: cpp
Time: 0.003 second
Submitted On: 2025-10-13 20:37:49
#include <iostream>
using namespace std;
int toDecimal(string a){
int power = 1;
int ans = 0;
for (int i = a.length()-1; i >= 0; i--){
int digit = 0;
if (a[i] >= '0' && a[i] <= '9') digit = a[i] - '0';
if (a[i] >= 'A' && a[i] <= 'F') digit = a[i] - 'A' + 10;
ans += digit*power;
power *= 16;
}
return ans;
}
string fromDecimal(int n, int base){
string s = "0123456789";
string ans = "";
while (n != 0){
ans = s[n%base] + ans;
n /= base;
}
return ans;
}
int main(){
string n;
cin >> n;
int decimal = toDecimal(n);
string basetwo = fromDecimal(decimal, 2);
string baseeight = fromDecimal(decimal, 8);
cout << basetwo << endl;
cout << baseeight;
}