Submission
Status:
PPPPPPPPPP
Subtask/Task Score:
100/100
Score: 100
User: Habibi
Problemset: แปลงเลขฐาน
Language: cpp
Time: 0.002 second
Submitted On: 2025-10-13 21:42:39
#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]);
}
}