3620 . 综合题

阅读程序(程序输入不超过数组或字符串定义的范围;判断题正确填√,错误填×,除 特殊说明外,判断题 1.5 分,选择题 3 分)

#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 . (判断题)

当 1000>=d>=b 时,输出的序列是有序的。

2 . (判断题)

当输入“5 5 1”时,输出为“1 1 5 5 5”

3 . (判断题)

假设数组 c 长度无限制,该程序所实现的算法的时间复杂度是 O(b)的

4 . (单选题)

函数 int logic(int x,int y)的功能是?

5 . (单选题)

当输入为“10 100 100”时,输出的第 100 个数是?

土豆
简单
0
收藏
题解讨论
反馈