백준[11576] - base conversion

문제

백준 11576 문제 보기

접근 방법

먼저 입력된 값을 10진법으로 변환한 뒤 다시 진법을 변환한다.

코드

#include <iostream>
#include <cmath>
#include <vector>
#include <algorithm>

using namespace std;

int A, B, m;
vector<int > v;

int main() {

    cin >> A >> B;
    cin >> m;

    int temp;
    int decimal = 0;
    for(int i = 0; i < m; i++) {
        cin >> temp;
        decimal += temp * pow(A, m - i - 1);
    }

    while(decimal) {
        v.push_back(decimal % B);
        decimal /= B;
    }

    reverse(v.begin(), v.end());

    long size = v.size();
    for(int i = 0; i < size; i ++) {
        cout << v[i] << ' ';
    }

    return 0;
}
Share