Submission
Status:
PPPPPPPPPP
Subtask/Task Score:
100/100
Score: 100
User: admin
Problemset: แปลงเลขฐาน
Language: c
Time: 0.001 second
Submitted On: 2025-09-30 22:00:50
#include <stdio.h>
#include <string.h>
#include <math.h>
int main(){
char s[105];
scanf("%s", &s);
int sum = 0, n = strlen(s);
int mul = 1;
for (int i = n - 1; i >= 0; i--) { //0-9
if(s[i]>='A'&&s[i]<='F'){
sum += (s[i]-'A'+10)* mul;
}
else {
sum += (s[i] - '0') * mul;
}
mul *= 16;
}
int sum2;
sum2=sum;
// printf("%d", sum2);
//printf("%d \n", sum); //sum ???Base 10
int idx = 0, arr[105];
while (sum > 0) {
arr[idx++] = sum % 2;
sum /= 2;
}
for (int i = idx - 1; i >= 0; i--) {
printf("%d", arr[i]);
}
printf("\n");
//____________________________________________
int idx2 = 0, arr2[105];
while (sum2 > 0) {
arr2[idx2++] = sum2 % 8;
sum2 /= 8;
}
for (int i = idx2 - 1; i >= 0; i--) {
printf("%d", arr2[i]);
}
return 0;
}