코딩고치

[백준][수학]진법 변환 본문

백준 알고리즘 기초/수학

[백준][수학]진법 변환

코딩고치 2019. 9. 14. 17:43
 

2745번: 진법 변환

B진법 수 N이 주어진다. 이 수를 10진법으로 바꿔 출력하는 프로그램을 작성하시오. 10진법을 넘어가는 진법은 숫자로 표시할 수 없는 자리가 있다. 이런 경우에는 다음과 같이 알파벳 대문자를 사용한다. A: 10, B: 11, ..., F: 15, ..., Y: 34, Z: 35

www.acmicpc.net

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
#include <iostream>
#include <string>
using namespace std;
 
int main(void)
{
    string n;
    int b;
    cin >> n >> b;
    int result=0;
    int x = 1;
    for (int i = n.length() - 1; i >= 0; i--)
    {
        if (n[i] >= 'A')
        {
            n[i] = n[i] - 'A' + 10;
            result += n[i] * x;
            x *= b;
        }
        else
        {
            n[i] = n[i] - '0';
            result += n[i] * x;
            x *= b;
        }
    }
 
    cout << result << '\n';
    return 0;
}
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4ftext-decoration:none">Colored by Color Scripter
 

'백준 알고리즘 기초 > 수학' 카테고리의 다른 글

[백준][수학] 소인수분해  (0) 2019.09.14
[백준][수학]Base Conversion  (0) 2019.09.14
[백준][수학]진법 변환2  (0) 2019.09.14
[백준][수학]골드바흐의 파티션  (0) 2019.09.13
[백준][수학]-2진법  (0) 2019.09.13
Comments