[白俊]11055号:転換陣法2


https://www.acmicpc.net/problem/11005

質問する



アルゴリズムアクセスメソッド


たとえば、10進数をバイナリに変換する方法です.

変換する値をシェアと残りの2に分割
上記求めた操作を繰り返し、シェアが0の場合
残りの部分を逆順で表示すると終了します.
(残りが10より大きい場合)
A: 10, B: 11, ..., F: 15, ..., Y: 34, Z: 35)

に答える

#include <iostream>
#include <vector>

using namespace std;

int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);
    
    int N, B;
    
    vector<int> v;
    
    cin >> N >> B;

    while((N/B)>0){
        v.push_back(N%B);
        N = N/B;
    }
    v.push_back(N%B);

    for(int i=v.size()-1; i>=0; i--){
        if (v[i] >= 10){
            cout << (char)(v[i]+55);
        }
        else
            cout << v[i];
    }
    cout << endl;
    return 0;
}

整理する


逆順!!に注意

💡 注意:配置


頑張った男のブログ