← 返回历年试卷

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

单选题

第1题
与数组相比,链表在( )操作上通常具有更高的效率。
2 分
第2题
下面C++代码实现双向链表。函数is_empty()判断链表是否为空,如链表为空返回true,否则返回
2 分
第3题
基于上题代码正确的前提下,填入相应代码完善append(),用于在双向链表尾部增加新节点,横线上应填
2 分
第4题
下列C++代码用循环链表解决约瑟夫问题,即假设n个人围成一圈,从第一个人开始数,每次数到第k 个
2 分
第5题
下列C++代码判断一个正整数是否是质数,说法正确的是( )。
2 分
第6题
下列C++代码用两种方式求解两个正整数的最大公约数,说法错误的是( )。
2 分
第7题
下面的代码用于判断一个整数是否为质数。若要找出 1 到 n 之间的所有质数,对 1 到 n 中的每个整数都
2 分
第8题
唯一分解定理描述了关于正整数的什么性质?
2 分
第9题
下面的C++代码,用于求一系列数据中的最大值。有关其算法说法错误的是( )。
2 分
第10题
下面的C++代码,用于求一系列数据中的最大值。有关其算法说法错误的是( )。
2 分
第11题
下面的 C++ 代码用于在升序数组lst中查找目标值target最后一次出现的位置。相关说法,正确的是(
2 分
第12题
有关下面C++代码的说法,错误的是( )。
2 分
第13题
13.硬币找零问题中要求找给客户最少的硬币。coins存储可用硬币规格,单位为角,假设规格都小于10
2 分
第14题
关于下述C++代码的快速排序算法,说法错误的是( )。
2 分
第15题
小杨编写了一个如下的高精度除法函数,则横线上应填写的代码为( )。
2 分

判断题

第1题
下面C++代码是用欧几里得算法(辗转相除法)求两个正整数的最大公约数,a大于b还是小于b都适用。
2 分
第2题
假设函数gcd()函数能正确求两个正整数的最大公约数,则下面的lcm()函数能求相应两数的最小公倍数。
2 分
第3题
下面的C++代码用于输出每个数对应的质因数列表,输出形如:{5: [5], 6: [2, 3], 7: [7], 8: [2, 2,
2 分
第4题
下面的C++代码实现归并排序。代码在执行时,将输出一次HERE字符串,因为merge()函数仅被调用一次。
2 分
第5题
归并排序的最好、最坏和平均时间复杂度均为O(nlog⁡n)O(n\log n)。
2 分
第6题
查字典这个小学生必备技能,可以把字典视为一个已排序的数组。假设小杨要查找一个音首字母为g的单
2 分
第7题
求解下图中A点到D点最短路径,其中A到B之间的12可以理解为距离。求解这样的问题常用Dijkstra算法,其
2 分
第8题
分治算法将原问题可以分解成规模更小的子问题,使得求解问题的难度降低。但由于分治算法需要将问题进
2 分
第9题
函数puzzle定义如下,则调用puzzle(7)程序会无限递归。
2 分
第10题
如下为线性筛法,用于高效生成素数表,其核心思想是每个合数只被它的最小质因数筛掉一次,时间复杂
2 分

编程题

未做
第1题奖品兑换
25 分
未做
第2题最大公因数
25 分