多题目


#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范围内,k 为不小于 22 且不大于 3636 的正整数,完成下面的判断题和单选题:

第1题 判断

该算法的时间复杂度为 O(logkm)。( )


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.

BG

B.

87G

C.

1C

D.

7C

发表评论

登录 后再回复