Submission

Status:

----------

Subtask/Task Score:

0/100

Score: 0

User: Habibi

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

Language: cpp

Time: 0.002 second

Submitted On: 2025-10-13 21:41:51

#include<stdio.h>
#include<math.h>
#include<string.h>
int todeci(char a[]){
	int n=strlen(a);
	int sum=0;
	for(int i=0;i<n;i++){
		if(a[i]>='A'&&a[i]<='F'){
			a[i]=a[i]-'A'+10;
		}
		else{
			a[i]=a[i]-'0';
		}
		sum=sum+(a[i]*pow(16,n-i-1));
	}
	return sum;	
}
int main(){
	char str[50];
	scanf("%s",str);
//	printf("%d",todeci(str));
	int deci2=todeci(str);
//	printf("%d\n",deci2);
	int deci8=deci2;
//	printf("%d\n",deci8);
//tobinary
	char bi[100];
	int u=0; 
	while(deci2!=0){
		bi[u]=deci2%2;
		u++;
		deci2=deci2/2;
	}
	for(int i=u-1;i>-1;i--){
		printf("%d",bi[i]);
	}
//tooct
	printf("\n");
	char oct[100];

	int k=0; 
	while(deci8!=0){
		oct[k]=deci8%8;
		deci8=deci8/8;
		printf("%d ",oct[k]);
		k++;
	}
	for(int i=k-1;i>-1;i--){
		printf("%d",oct[i]);
	}	
	
}