Submission

Status:

PPPPPPPPPP

Subtask/Task Score:

100/100

Score: 100

User: karnsinee

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

Language: cpp

Time: 0.002 second

Submitted On: 2025-10-13 11:35:43

#include<iostream>
#include<string>
#include<cmath>
using namespace std;
int main(){
	string a;
	int n,sum=0;
	cin>>a;
	n=a.size();
	for(int i=0;i<n;i++){
		if(a[i]>=65&&a[i]<=70){
			sum=sum+((a[i]-'A'+10)*pow(16,n-i-1));
		}
		else{
			sum=sum+((a[i]-'0')*pow(16,n-i-1));
		}
	}
	//cout<<sum<<"\n";
	int x;
	x=sum;
	
	int b[100]={-1},c[100]={-1};
	int i=0,j=0;
	while(sum>0){
		b[i]=sum%2;
		sum=sum/2;
		i++;
	}
	while(x>0){
		c[j]=x%8;
		x=x/8;
		j++;
	}

	for(int x=i-1;x>=0;x--){
		cout<<b[x];
	}
//	while(b[x]>0){
//		cout<<b[x];
//		x--;
//	}
	cout<<"\n";
	int y=j;
	for(int y=j-1;y>=0;y--){
		cout<<c[y];
	}
//	while(c[y]>0){
//		cout<<c[y];
//		y--;
//	}
}