Submission

Status:

----------

Subtask/Task Score:

0/100

Score: 0

User: 2628

Problemset: แปลงเลขฐาน

Language: cpp

Time: 0.004 second

Submitted On: 2026-10-12 22:55:53

#include<bits/stdc++.h>
using namespace std;

int main()
{
	string s;
	cin >> s;
	
	int n = s.size();
	int t10 = 0,l = n-1;
	for(int i = 0;i < n;i++){
		if(s[i] >= '0' && s[i] <= '9'){
			t10 += (s[i] - 48)*pow(16,l);
		}
		else{
			if(s[i] == 'A'){
				t10 += 10*pow(16,l);
			}
			else if(s[i] == 'B'){
				t10 += 11*pow(16,l);
			}
			else if(s[i] == 'C'){
				t10 += 12*pow(16,l);
			}
			else if(s[i] == 'D'){
				t10 += 13*pow(16,l);
			}
			else if(s[i] == 'E'){
				t10 += 14*pow(16,l);
			}
			else if(s[i] == 'F'){
				t10 += 15*pow(16,l);
			}
		}
		l = l - 1;
	}
	int t2 = t10;
	int t8 = t10;
	//int n2  = t10.size();
	
	vector<int> ar2;
	vector<int> ar8;
	while(t2 != 0){
		ar2.push_back(t2%2);
		t2 = t2/2;
	}
	cout << endl;
	while(t8 != 0){
		ar8.push_back(t8%8);
		t8 = t8/8;
	}
	
	for(int i = ar2.size()-1 ;i >= 0;i--){
		cout <<ar2[i];
	}
	cout << endl;
	for(int i = ar8.size() -1;i >= 0;i--){
		cout <<ar8[i];
	}
	
	
	
	return 0;
}