← 返回历年试卷

GESP C++ 5级 2025年9月真题

单选题

第1题
以下哪种情况使用链表比数组更合适?
2 分
第2题
函数removeElements删除单链表中所有结点值等于 val 的结点,并返回新的头结点,其中链表头结点为
2 分
第3题
函数hasCycle采用Floyd快慢指针法判断一个单链表中是否存在环,链表的头节点为head,即用两个指针
2 分
第4题
函数isPerfectNumber判断一个正整数是否为完全数(该数是否即等于它的真因子之和),则横线上应填
2 分
第5题
以下代码计算两个正整数的最大公约数(GCD),横线上应填写( )。
2 分
第6题
函数sieve实现埃拉托斯特尼筛法(埃氏筛),横线处应填入( )。
2 分
第7题
函数linearSieve实现线性筛法(欧拉筛),横线处应填入( )。
2 分
第8题
关于 埃氏筛 和 线性筛 的比较,下列说法错误的是( )。
2 分
第9题
唯一分解定理描述的是( )。
2 分
第10题
给定一个 n x n 的矩阵 matrix,矩阵的每一行和每一列都按升序排列。函数countLE返回矩阵中第
2 分
第11题
下述C++代码实现了快速排序算法,下面说法错误的是( )。
2 分
第12题
下述C++代码实现了归并排序算法,则横线上应填写( )。
2 分
第13题
假设你是一家电影院的排片经理,只有一个放映厅。你有一个电影列表 movies,其中 movies[i] =
2 分
第14题
给定一个整数数组nums,下面代码找到一个具有最大和的连续子数组,并返回该最大和。则下面说法错
2 分
第15题
给定一个由非负整数组成的数组digits,表示一个非负整数的各位数字,其中最高位在数组首位,且
2 分

判断题

第1题
基于下面定义的函数,通过判断isDivisibleBy9(n) == isDigitSumDivisibleBy9(n)代码可验算如果
2 分
第2题
假设函数gcd()能正确求两个正整数的最大公约数,则下面的findMusicalPattern(4,6)函数返回2。
2 分
第3题
下面递归实现的斐波那契数列的时间复杂度为 O(2n)O(2^{n})。
2 分
第4题
链表通过更改指针实现高效的结点插入与删除,但结点访问效率低、占用内存较多,且对缓存利用不友好。
2 分
第5题
二分查找依赖数据的有序性,通过循环逐步缩减一半搜索区间来进行查找,且仅适用于数组或基于数组实现
2 分
第6题
线性筛关键是“每个合数只会被最小质因子筛到一次”,因此为 O(n)O(n)。
2 分
第7题
快速排序和归并排序都是稳定的排序算法。
2 分
第8题
下面代码采用分治算法求解标准 3 柱汉诺塔问题,时间复杂度为 O(nlog⁡n)O(n\log n)。
2 分
第9题
所有递归算法都可以转换为迭代算法。
2 分
第10题
贪心算法总能得到全局最优解。
2 分

编程题

未做
第1题数字选取
25 分
未做
第2题有趣的数字和
25 分