BCSP-X · 2024 BCSP-X 下半年活动基础知识测评(小学高年级组) 第 17 题

阅读程序 · 答案 ABE

← 整套速查表 BCSP-X 全部真题

题目

第 2 题

#include<iostream>
using namespace std;
bool valid(int k, int m) {
    int now = 0;
    for (int i = 1; i <= k; i++) {
        now = (now + m) % (2 * k - i + 1);
        if (now == 0)
            now = 2 * k - i + 1;
        if (now <= k)
            return false;
        now--;
    }
    return true;
}
int main() {
    int k;
    cin >> k;
    int m = k + 1;
    while (!valid(k, m))
        m++;
    cout << m;
    return 0;
}

假设输入的 $k$ 是不超过 $15$ 的非负整数,完成下面的判断题和单选题:

判断题

1. (本题 1 分)valid 函数的算法时间复杂度为 $O(k)$(此处的 $k$ 特指程序输入的 $k$)。( ) 2. 若将第 $005$ 行改为 for (int i = 0; i < k; i++) {,程序仍可以被正常执行,且对于相同的输入数据,输出结果不变。( ) 3. 若将第 $018$ 行的 k + 1 改为 1 ,程序执行或许会变慢,但仍可以被正常执行,且对于相同的输入数据,输出结果不变。( )

单选题

1. 程序输出的 $m$ 值最小可能为( )。 A. $0$ B. $1$ C. $2$ D. $3$ E. $4$ F. $5$ 2. 若输入的 $k$ 为 $4$,程序将输出( )。 A. $30$ B. $32$ C. $34$ D. $36$ E. $38$

(本题为阅读程序 / 完善程序,完整题目与测试数据见平台)

答案:ABE

解题思维

本题考查基础知识的理解与应用,需要结合所学概念进行分析和判断。

常见错误

注意审题,看清题目要求是选择"正确的"还是"不正确的"。逐一分析每个选项,排除明显错误的选项。

详细解析(节选)

核心概念:本题涉及计算机科学基础知识,需要准确理解相关概念的定义和应用场景。

推导分析:逐一检查每个选项是否符合题目的条件和要求;对于不确定的选项,可以尝试举反例验证;结合排除法缩小选择范围。

避坑指南:注意否定词如"不正确的是""不属于";注意限定词如"一定""可能""必须"等绝对化表述往往是陷阱。

解题技巧:先排除明显错误的选项,在剩余选项中仔细比较。对于计算题,列出公式仔细计算。

在 OI伴学 里做这道题
登录后可计时作答、查看完整六段式解析,并按你的错题自动生成同类练习。
去刷题先做一次 AI 学情诊断