#include <stdio.h> #include <iostream> #include <vector> #include <queue> #include <math.h> using namespace std; int A, B; int N; int main(void) { // freopen("B11576_input.txt", "r", stdin); cin >> A >> B; cin >> N; int digit[30]; long long num10 = 0; vector<int> ans; for(int i = 0; i < N; i++) { cin >> digit[i]; } // A진수 -> 10진수 for(int i = N-1; i >= 0; i--) { int temp = digit[i]; num10 += temp * pow(A, N-1-i); } // 10진수 -> B진수 while(num10 != 0) { int temp = num10 % B; num10 /= B; // B진수의 뒤에서부터 저장 ans.push_back(temp); } // 뒤에서부터 저장했으므로, 반대로 출력 for(int i = ans.size()-1; i >= 0; i--) { cout << ans[i] << " "; } return 0; } | cs |
'Baekjoon > Math' 카테고리의 다른 글
[백준 11653] 소인수 분해 (Math) (C/C++) (0) | 2020.01.25 |
---|---|
[백준 6658] 골드바흐의 추측 (Math) (C/C++) (★) (0) | 2020.01.25 |
[백준 1212] 8진수 2진수 (Math) (C/C++) (0) | 2020.01.24 |
[백준 1373] 2진수 8진수 (Math) (C/C++) (0) | 2020.01.24 |
[백준 11005] 진법 변환2 (Math) (C/C++) (0) | 2020.01.24 |