일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 문법
- 자기개발
- git hub
- type 함수
- 정렬
- 탐색
- Git
- 백준
- IT
- 알고리즘
- 배열
- 유닉스
- NQueen
- 이진 탐색
- MiniHeap
- format 메서드
- 동적 계획
- sys.stdin.readline()
- 재귀 함수
- UNIX
- 분할 정복
- 순차 탐색
- 스택
- 우분투
- 기초
- 그리디
- 그래프
- 트리
- 파이썬
- 자료구조
Archives
- Today
- Total
코딩고치
[백준][수학]Base Conversion 본문
11576번: Base Conversion
타임머신을 개발하는 정이는 오랜 노력 끝에 타임머신을 개발하는데 성공하였다. 미래가 궁금한 정이는 자신이 개발한 타임머신을 이용하여 500년 후의 세계로 여행을 떠나게 되었다. 500년 후의 세계에서도 프로그래밍을 하고 싶었던 정이는 백준 사이트에 접속하여 문제를 풀기로 하였다. 그러나 미래세계는 A진법을 사용하고 있었고, B진법을 사용하던 정이는 문제를 풀 수가 없었다. 뛰어난 프로그래머였던 정이는 A진법으로 나타낸 숫자를 B진법으로 변환시켜주는 프로그
www.acmicpc.net
A진법의 수를 B진법의 수로 바꾸는 문제. 먼저 A진법의 수를 10진수로 나타낸 후 다시 B진법의 수로 바꾸면 된다.
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
36
37
38
39
40
41
42
43
44
45
46
47
|
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main(void)
{
int a, b;
cin >> a >> b; //진법 a,b
int m;
cin >> m; //a진법 수의 자릿수
int x = 1;
int num = 0; //10진수로 나타낸 수
vector<int> av(m); // a진법 수
vector<int> bv; //b진법
for (int i = 0; i < m; i++)
{
cin >> av[i];
}
for (int i = m - 1; i >= 0; i--)
{
num += av[i] * x;
x *= a;
}
while (1)
{
if (num == 0)
break;
else
{
bv.push_back(num % b);
num = num / b;
}
}
reverse(bv.begin(), bv.end());
for (int i = 0; i < bv.size(); i++)
{
cout << bv[i] << " ";
}
cout << '\n';
return 0;
}
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4ftext-decoration:none">Colored by Color Scripter
|
'백준 알고리즘 기초 > 수학' 카테고리의 다른 글
[백준][수학] 소인수분해 (0) | 2019.09.14 |
---|---|
[백준][수학]진법 변환 (0) | 2019.09.14 |
[백준][수학]진법 변환2 (0) | 2019.09.14 |
[백준][수학]골드바흐의 파티션 (0) | 2019.09.13 |
[백준][수학]-2진법 (0) | 2019.09.13 |
Comments