코딩고치

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

백준 알고리즘 기초/수학

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

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

11005번: 진법 변환 2

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

www.acmicpc.net

10진법 수 N을 B진법 수로 바꿔 출력하는 문제. 나머지가 10보다 클 때 문자로 알파벳으로 나타내야 한다. 그래서 자료형인 char인 vector를 선언하고 아스키코드에 맞추어  원하는 값이 출력이 되도록 코드를 작성하였다.

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
32
33
34
35
#include <iostream>
#include <vector>
using namespace std;
 
int main(void)
{
    int n, b;
    cin >> n >> b;
    vector<char> v;
 
    while (1)
    {
        if (n == 0)
            break;
 
        else if (n % b < 10)
        {
            v.push_back(n % b + '0');
            n = n / b;
        }
        else
        {
            v.push_back(n % b -10+'A');
            n = n / b;
        }
    }
 
    for (int i = v.size() - 1; i >= 0; i--)
    {
        cout << v[i];
    }
    cout << '\n';
 
    return 0;
}
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4ftext-decoration:none">Colored by Color Scripter
 

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

[백준][수학]Base Conversion  (0) 2019.09.14
[백준][수학]진법 변환  (0) 2019.09.14
[백준][수학]골드바흐의 파티션  (0) 2019.09.13
[백준][수학]-2진법  (0) 2019.09.13
[백준][수학]숨바꼭질  (0) 2019.09.12
Comments