题库 信息学奥赛题库 题目列表 #include <iostream> #include <a...
组合题
#include <iostream>
#include <algorithm>
using namespace std;
const int MAXL = 1000;
int n, k, ans[MAXL];
int main(void) {
       cin >> n >> k;
       if (!n) cout << 0 << endl;
       else {
              int m = 0;
              while (n) {
                     ans[m++] = (n % (-k) + k) % k;
                     n = (ans[m - 1] - n) / k;
              }
              for (int i = m - 1; i >= 0; i--)
                     cout << char(ans[i] >= 10 ?
                                  ans[i] + 'A' - 10 :
                                  ans[i] + '0');
              cout << endl;
       }
       return 0;
}

假设输入的 n 在 int 范围内,𝑘 为不小于 2 且不大于 36 的正整数,完成下面的判断题和单选题:

第1题 判断
该算法的时间复杂度为 0(logk n)。
A.
正确
B.
错误
第2题 判断
删除第 23 行的强制类型转换,程序的行为不变。
A.
正确
B.
错误
第3题 判断
除非输入的n为0,否则程序输出的字符数为 O(⌊logk |n|⌋ + 1)。
A.
正确
B.
错误
第4题 单选
当输入为“100 7”时,输出为(  )。
A.

202

B.

1515

C.

244

D.

1754

第5题 单选
当输入为“ -255 8”时,输出为“(  )”。
A.

1400

B.

1401

C.

417

D.

400

第6题 单选
当输入为“1000000 19”时,输出为“(  )”。
A.

BG939

B.

87GIB

C.

1CD428

D.

7CF1B

题目信息
阅读程序 2022年 初赛
-
正确率
0
评论
237
点击