#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>

#define ZERO 48
#define A 65
#define SIZE 100

int main()
{
    /* Declare Variables */
    char NUMBER[SIZE];
    int number[SIZE];
    int base;
    int ans;
    size_t len;

    int i;
    int temp;

    /* Initialize Variables */
    memset(NUMBER,'\0',SIZE);
    ans = 0;

    /* Get Inputs */
    scanf("%s", &NUMBER);
    scanf("%d", &base);

    len = strlen(NUMBER);

    /* Convert character to integer */
    for (i = 0; i < len; i++)
    {
        if (NUMBER[i] >= ZERO && NUMBER[i] < A)
        {
            number[i] = (int)NUMBER[i] - ZERO;
        }
        else if (NUMBER[i] >= A)
        {
            number[i] = (int)NUMBER[i] - A + 10;
        }
    }

    /* Convert N base to decimal */
    for (i = 0; i < len; i++)
    {
        temp = number[len - i - 1] * pow(base, i);
        ans = ans + temp;
    }

    /* Print output */
    printf("%d\n", ans);
    
}

'코딩테스트 > C' 카테고리의 다른 글

백준 2720 세탁소 사장 동혁  (1) 2024.07.14
백준 11005 진법 변환 2  (2) 2024.07.14
백준 2563 색종이  (0) 2024.07.13
백준 10798 세로 읽기  (0) 2024.07.13
백준 2566 최댓값  (0) 2024.07.13

+ Recent posts