组合题5 个小题
已作答 0 / 5
给定 n,m,再给定一个 mn 进制下的数 A,其各个数位上的数按照从高位到低位的顺序给出,请你将其转化为 n 进制,并同样按照从高位到低位的顺序输出。
输入的第一行依次为 n,m 和 A 的位数 d,接下来 d 个数 ad,ad−1,…,a1 从高位到低位描述各个数位上的数。
数据满足 2≤n,m≤10,1≤d≤18,0≤A<263;对于所有 1≤i≤d,0≤ai<mn。
以下程序按“逐位除以 n”的方法完成进制转换。请补全程序。
1#include <iostream>2 3constexpr int N = 100005;4long long b[N];5 6int main() {7 long long n, m, d;8 std::cin >> n >> m >> d;9 int len = 1;10 for (int i = 0; i < d; i++) {11 long long x;12 std::cin >> x;13 for (int j = len; j >= 1; j--)14 b[j] = /* ① */;15 b[0] = /* ② */;16 len++;17 for (int j = 0; j < len; j++)18 if (b[j] >= n) {19 b[j + 1] += /* ③ */;20 b[j] = /* ④ */;21 if (j + 1 == len) len++;22 }23 }24 while (/* ⑤ */) len--;25 for (int i = len - 1; i >= 0; i--)26 std::cout << b[i] << ' ';27 return 0;28}④处应填( )。