题型:组合题
阅读程序
#include <iostream>
using namespace std;
const int N = 1000;
int c[N];
int logic(int x, int y) {
return (x & y) ^ ((x ^ y) | (~x & y));
}
void generate(int a, int b, int *c) {
for (int i = 0; i < b; i++) {
c[i] = logic(a, i) % (b + 1);
}
}
void recursion(int depth, int *arr, int size) {
if (depth <= 0 || size <= 1) return;
int pivot = arr[0];
int i = 0, j = size - 1;
while (i <= j) {
while (arr[i] < pivot) i++;
while (arr[j] > pivot) j--;
if (i <= j) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
i++; j--;
}
}
recursion(depth - 1, arr, j + 1);
recursion(depth - 1, arr + i, size - i);
}
int main() {
int a, b, d;
cin >> a >> b >> d;
generate(a, b, c);
recursion(d, c, b);
for (int i = 0; i < b; i++) cout << c[i] << " ";
} (1).假设数组c长度无限制,该程序所实现的算法的时间复杂度是O(b)的( )
| A.正确 | B.错误 |
当1000≥d≥b时,输出的序列是有序的()
| A.正确 | B.错误 |
当输入“5 5 1”时,输出为“1 1 5 5 5”( )
| A.正确 | B.错误 |
函数int logic(int x,int y)的功能是()?
| A. 按位与 |
B. 按位或 |
| C. 按位异或 |
D. 以上都不是 |
当输入为“10 100 100”时,输出的第100个数是()?
| A. 91 |
B. 94 |
| C. 95 |
D. 98 |
更新时间:2025-06-18 12:29:31
|
【知识点】
CCF非专业级别软件能力认证CSP-S/提高级
抱歉! 您未登录, 不能查看答案和解析点击登录












