2022 CSP-S 初赛部分解析
参考:https://blog.csdn.net/lq1990717/article/details/141991949
单项选择题
2
你同时用 time 命令和秒表为某个程序在单核 CPU 的运行计时。假如 time 命令的输出如下:
1 | real 0m30.721s |
以下最接近秒表计时时长为:
A. 30s
B. 24s
C. 18s
D. 6s
答案
A。
real: 总的运行时间,从命令开始执行到结束的时间,包括等待CPU时间和其他进程时间。
user: 用户CPU时间,即在用户态下花费的时间,不包括用于内核操作的时间。
sys:系统CPU时间,即在内核态下花费的时间,比如执行系统调用所花费的时间。
秒表计时的时长接近于程序运行的总时间,即real后面显示的时间。
10
共有 8 人选修了程序设计课程,期末大作业要求由 2 人组成的团队完成。假设不区分每个团队内 2 人的角色和作用,请问共有多少种可能的组队方案。
A. 28
B. 32
C. 56
D. 64
答案
A。
题目问的是组队的方案,并没有要求组成 4 队。8人中选出 2 人组队,选出的 2 人不区分角色作用,也就是选出的 2 人没有顺序,是组合。因此该问题就是求 8 个不同元素中选出 2 个元素的组合数,为 \(C_{8}^{2}\)。
阅读程序
22
判断:这是一个不稳定的排序算法。
答案
错。
程序为 基数排序。
32
当输入为 100 7 时,输出为:
A. 1400
B. 1401
C. 417
D. 400
答案
B。
程序给出十进制数 \(n\),将 \(n\) 在 \(k\) 进制下进行数位分离,但是每分离出一位后,该数值的符号取反(比较特殊的进制转换)。
这里说一下 \(-a \% b\) 的值。
设 \(a = q*b+r\),则 \(a \% b = r\)。
当 \(a<0\) 时,仍然满足 \(a = q*b+r\)。
例:
输入: -255 8。
| 除法式 | 商 | 余数 | 解释 |
|---|---|---|---|
| \(-255/8\) | \(-32\) | \(1\) | \(-32*8+1 = -255\) |
| \(32/8\) | \(4\) | \(0\) | \(4*8+0 = 32\) |
| \(-4/8\) | \(-1\) | \(4\) | \(-1*8+4 = -4\) |
| \(1/8\) | \(0\) | \(1\) | \(0*8+1=1\) |
因此结果为 1401。
