2026年9月CCF—GESP(Python五级)编程能力等级认证试卷
剩余时间 --:--:--
单选题 共 15 题
1.

小杨使用单向链表存放任务序列,同时记录链表的头部结点 和尾部结点 。链表不为空,已知tail 尾部结点 ,在链表末尾添加新结点的时间复杂度是( )。

2.

在不带哨兵结点的双向链表中,结点 既不是头部结点,也不是尾部结点。删除结点 的正确代码是 ( )。

3.

下面函数使用快慢变量查找单向链表的中间结点。横线处应填写( )。

fast = fast.next

4.

函数 定义如下,则 的结果是( )。

3

5.

下面函数用于判断正整数 是否为质数。横线处的最佳写法是( )。

i < n

6.

下面代码实现线性筛(欧拉筛)。为保证每个合数只被它的最小质因子筛除一次,横线处应填写( )。

p % i == 0

7.

根据唯一分解定理,整数 的正确质因数分解是( )。

8.

函数 定义如下,则 的结果是( )。

4

9.

在升序数组中查找第一个严格大于 的元素下标,下面代码横线处应填写( )。

a[mid] < x

10.

小杨需要把若干箱货物按原有顺序分配到 天中,每天运输连续的若干箱,求可以完成任务的最小载check(cap)cap 重量。函数 判断载重量为 时,是否可以在规定天数运完全部货物。横线处应填写( )

l = mid + 1r = mid

11.

下面是归并排序合并两个有序区间(升序排序)的片段。想要让排序算法保持稳定,横线处应当填写 ( )

a[i] < a[j]

12.

下面快速排序的划分函数以 作为枢轴,把不大于枢轴的元素移动到数组左侧。横线处应填写 ( )。

a[j] <= pivot

13.

小杨要在一间教室安排尽可能多场活动,每场活动拥有开始时间 和结束时间 。使用贪心算 法,正确的选择策略是( ) class Activity 1 def __init__ ( self , s , e ): 2 self . start = s 3 self . end = e 4

14.

下面函数用迭代方式求解最大连续子段和。对于数组 ,函数返回结果是 ( )

5

15.

数组 和 低位在前存储两个非负大整数,代码实现高精度加法,横线处应填写( )

carry = sum_val % 10

判断题 共 10 题
1.

下面代码,在已知结点 的前提下,可以用 的时间,在单向链表的 结点后面插入新结点 。

head

2.

下面代码可以安全删除单向链表的头结点,并让 指向删除之后的新头结点。

aba > ba < b

3.

下面的欧几里得算法,只要 、 是正整数,无论 还是 都可以正常求出最大公约数。

i * ii*ii

4.

下面埃氏筛从 开始标记合数,原因是: 之前 的合数倍数,已经被更小的质因子标记完成。

5.

下面程序的时间复杂度为

ax

6.

数组 已经升序排列,下面函数可以返回数组中最后一个小于等于 的元素下标;如果不存在该元素,-1 则返回 。

7.

快速排序中如果选取区间第一个元素作为枢轴。当输入数组已经升序排列时,其最坏时间复杂度仍为

8.

下面归并排序的递推式对应的时间复杂度为coinsmoney

9.

下面的贪心代码,对于任意硬币面值集合 ,都一定可以求出凑出 所需要的最少硬币数量。

ab

10.

假设两个非负高精度整数分别存储在数组 和 中,且。数组采用低位在前的方式存储,即a[0]ca - b 表示个位。下面代码中的 可以正确保存 的各位数字。

分,共 分) 3 25 50 1

编程题 共 2 题
1.

哥德巴赫猜想

以下为官方试卷题面(与 PDF 一致)

哥德巴赫猜想

哥德巴赫猜想

2.

饮品调制

以下为官方试卷题面(与 PDF 一致)

饮品调制

饮品调制

C++ 编辑器
输入
输出