#12451. 珅泽教育CSP-J第一轮模拟考第二十八套 第 41 题

珅泽教育CSP-J第一轮模拟考第二十八套 第 41 题

三、完善程序(单项选择题,每题 3 分,共 30 分)

完善程序(2):进制转换

pp 进制数 nn 转换为 qq 进制,p,q[2,36]p,q\in[2,36],用大写字母 AZ 表示 10 至 35。

#include <bits/stdc++.h>
using namespace std;
int p, q, a[1005], len = 1;
string n;
int main() {
    cin >> p >> n >> q;
    for (int i = 0; i < n.size(); i++) {
        for (int j = 0; j < len; j++) ___(1)___;
        if (n[i] >= '0' && n[i] <= '9') a[0] += n[i] - '0';
        else a[0] += n[i] - 'A' + 10;
        for (int j = 0; j < len; j++) {
            ___(2)___;
            ___(3)___;
        }
        while (___(4)___) {
            ___(5)___;
            a[len] %= q;
            len++;
        }
    }
    for (int i = len - 1; i >= 0; i--)
        if (a[i] < 10) cout << char(a[i] + '0');
        else cout << char(a[i] + 'A' - 10);
    return 0;
}

③处应填( )。

{{ select(1) }}

  • if(j) a[j-1] /= q
  • if(j) a[j-1] %= q
  • if(j) a[j] %= q
  • a[j] %= q