티스토리 뷰

1. 문제

https://www.acmicpc.net/problem/2745

 

 

2. 풀이

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

int main(void) {

    int baseB;
    int resultOfBase10 = 0;
    char N[100];

    scanf("%s", N);
    scanf("%d", &baseB);

    int length = strlen(N);

    if(baseB >= 2 && baseB <= 36)
    {
        for (int i = 0; i < length; i++)
        {
            if(N[i] >= 65 && N[i] <= 90){
                // printf("%d번: %d\n", i, N[i]);
                resultOfBase10 += (N[i]-'A'+10) * pow(baseB, length-(i+1));
            } else {
                resultOfBase10 += (N[i]-'0') * pow(baseB, length-(i+1));
            }
        }
    }

    printf("%d", resultOfBase10);
}
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함