Submission

Status:

PPPPPPPPPP

Subtask/Task Score:

100/100

Score: 100

User: him

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

Language: cpp

Time: 0.002 second

Submitted On: 2025-09-07 19:53:53

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

int s[100];
int e[100];
int main(){
  
  string g;cin>>g;
  
  reverse(g.begin(),g.end());
  long long int sum=0;
  long long int h=16;
  long long int p=1;
  
  for(int i=0;i<g.size();i++){
  	if(g[i]>='A' && g[i]<='Z'){
  		sum=sum+p*(g[i]-'A'+10);
      p=p*h;
	  }
    else{
			sum=sum+p*(g[i]-'0');
      p=p*h;
		}
  }
  int sum2=sum;
  int r;
  int k=0;
  while(sum2>=2){
    r=sum2%2;
    s[k]=r;
    k++;
    sum2=sum2/2;
  }
  r=sum2;
  s[k]=r;
  for(int i=k;i>=0;i--){
    cout<<s[k];
    k--;
  }
   cout<<"\n"; 
  int sum8=sum;
  k=0;
  while(sum8>=8){
    r=sum8%8;
    e[k]=r;
    k++;
    sum8=sum8/8;
  }
  r=sum8;
  e[k]=r;
  for(int i=k;i>=0;i--){
    cout<<e[k];
    k--;
  }
}