
#include <bits/stdc++.h>
using namespace std;
int main()
{
ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
vector<int> v1;
int n, b,r=0;
cin >> n >> b;
while (n != 0) {
r = n % b;
n /= b;
v1.push_back(r);
}
for (int i = v1.size(); i > 0; i--) {
if (v1[i - 1] >= 10 && b > 10) {
char result = v1[i - 1]-10 + 'A';
cout << result;
}
else cout << v1[i - 1];
}
}
2진법 구하듯이 N진법 구한다 생각하고 코드를 작성하면된다.
10진법 이상일 경우는 문제에서 제시한것과 같이 10부터 A로 시작한다고 한다.
백터에 10진법 이상 10이상의 나머지 값이 저장되면, 10을 빼준후 알파벳을 출력해준다.
'Algorithm' 카테고리의 다른 글
| [백준] 알고리즘 2089번 - -2진수 문제 (0) | 2020.12.21 |
|---|---|
| [백준] 알고리즘 2745번 - 진법 변환 (0) | 2020.12.15 |
| [백준] 알고리즘 수학 - 나머지연산, GCD, LCM, 진법변환, 소수 (0) | 2020.12.14 |
| [백준] 알고리즘 2011번 - 암호코드 문제 (0) | 2020.12.14 |
| [백준] 알고리즘 2225번 - 합분해 문제 (0) | 2020.12.13 |
