-
[11576] Base ConversionBOJ 2021. 12. 29. 00:36
https://www.acmicpc.net/problem/11576
11576번: Base Conversion
타임머신을 개발하는 정이는 오랜 노력 끝에 타임머신을 개발하는데 성공하였다. 미래가 궁금한 정이는 자신이 개발한 타임머신을 이용하여 500년 후의 세계로 여행을 떠나게 되었다. 500년 후의
www.acmicpc.net
<문제>
a진수를 b진수로 바꾸는 문제다. 처음에 a진수로 주어진 수를 10진수로 바꾸어주고, 이를 num에 넣어두면
v.push_back(num%b);
num/=b;
위 과정을 num>0일동안 진행하면 작은 자리수부터 순차적으로 담기게 된다.한번 reverse 해주거나, 반대로 순회( rbegin() -> rend() )하여 출력해주면 되겠다.
<소스코드>
1234567891011121314151617181920212223242526#include <bits/stdc++.h>using namespace std;int a, b, m, num;vector<int> ans;int main(void) {ios_base::sync_with_stdio(0);cin.tie(0);cin >> a >> b >> m;int i, p;for (i = 0, p = m - 1; i < m; i++, p--) {int x;cin >> x;num += ((int)pow(a, p) * x);}while (num) {int cur = num % b;ans.push_back(cur);num /= b;}reverse(ans.begin(), ans.end());int S = ans.size();for (i = 0; i < S; i++) {cout << ans[i] << " ";}return 0;}cs 'BOJ' 카테고리의 다른 글
[1913] 달팽이 (0) 2021.12.29 [17478] 재귀함수가 뭔가요? (0) 2021.12.29 [14908] 구두 수선공 (0) 2021.12.28 [16496] 큰 수 만들기 (0) 2021.12.27 [7570] 줄 세우기 (0) 2021.12.26