不是VIP会员,不能显示答案

题目解答

题目:
#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;

}




假设输入字符串由 ASCII 可见字符组成,完成下面的判断题和单选题:



判断题

1) 该算法的时间复杂度为$O(log_kn)$。( )

2) 删除第 23 行的强制类型转换,程序的行为不变。( )

3) 除非输入的 n 为 0,否则程序输出的字符数为$O(\lfloor log_k|n|\rfloor +1)$。( )




选择题

4) 当输入为“100 7”时,输出为( )。

5) 当输入为“-255 8”时,输出为“( )”。

6) 当输入为“1000000 19”时,输出为“( )”。
考点:
分析:
解答:
评论:
老师: