Submission

Status:

PPPPPPPPPP

Subtask/Task Score:

100/100

Score: 100

User: admin

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

Language: c

Time: 0.002 second

Submitted On: 2025-09-30 21:56:16

#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;
}