参考:https://blog.csdn.net/lq1990717/article/details/141991949

单项选择题

2

你同时用 time 命令和秒表为某个程序在单核 CPU 的运行计时。假如 time 命令的输出如下:

1
2
3
real 0m30.721s
user 0m24.579s
sys 0m6.123s

以下最接近秒表计时时长为:

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