选择题 共15道

01 02 03 04 05 06 07 08 09 10 11 12 13 14 15


判断题 共10道

16 17 18 19 20 21 22 23 24 25


编程题 共2道

26 27

479 202503GESP C++五级试卷-练习
选择题 共15道
01 链表不具备的特点是( )。 2分
登录后查看选项
02 双向链表中每个结点有两个指针域 prev 和 next ,分别指向该结点的前驱及后继结点。设 p 指向链表中的一个结点,它的前驱结点和后继结点均非空。要删除结点 p ,则下述语句中错误的是( )。 2分
登录后查看选项
03

假设双向循环链表包含头尾哨兵结点(不存储实际内容),分别为 head 和 tail ,链表中每个结点有两个指针域 prev 和 next ,分别指向该结点的前驱及后继结点。下面代码实现了一个空的双向循环链表,横线上应填的最佳代码是( )。

3.png

2分
登录后查看选项
04

用以下辗转相除法(欧几里得算法)求gcd(84, 60)的步骤中,第二步计算的数是( )。

4.png

2分
登录后查看选项
05 根据唯一分解定理,下面整数的唯一分解是正确的( )。 2分
登录后查看选项
06

下述代码实现素数表的线性筛法,筛选出所有小于等于 的素数,横线上应填的最佳代码是( )。

2分
登录后查看选项
07 在程序运行过程中,如果递归调用的层数过多,会因为( )引发错误。 2分
登录后查看选项
08

对下面两个函数,说法错误的是( )。

8.png

2分
登录后查看选项
09 下算法中,( )是不稳定的排序 2分
登录后查看选项
10

考虑以下C++代码实现的快速排序算法,将数据从小到大排序,则横线上应填的最佳代码是( )。

2分
登录后查看选项
11 若用二分法在[1, 100]内猜数,最多需要猜( )次。 2分
登录后查看选项
12

下面代码实现了二分查找算法,在数组 arr 找到目标元素 target 的位置,则横线上能填写的最佳代码是( )。

12.png

2分
登录后查看选项
13 贪心算法的核心特征是( ) 2分
登录后查看选项
14 函数 int findMax(int arr[], int low, int high) 计算数组中最大元素,其中数组 arr 从索引low 到 high ,( )正确实现了分治逻辑 2分
登录后查看选项
15

小杨编写了一个如下的高精度乘法函数,则横线上应填写的代码为( )。

15.png

2分
登录后查看选项
判断题 共10道
16 单链表中删除某个结点 p (非尾结点),但不知道头结点,可行的操作是将 p 的值设为 p->next 的值,然后删除 p->next 。 2分
登录后查看选项
17 链表存储线性表时要求内存中可用存储单元地址是连续的 2分
登录后查看选项
18 线性筛相对于埃拉托斯特尼筛法,每个合数只会被它的最小质因数筛去一次,因此效率更高 2分
登录后查看选项
19 贪心算法通过每一步选择当前最优解,从而一定能获得全局最优解 2分
登录后查看选项
20 递归函数必须具有一个终止条件,以防止无限递归 2分
登录后查看选项
21 快速排序算法的时间复杂度与输入是否有序无关,始终稳定为:O(nlogn) 2分
登录后查看选项
22 归并排序算法的时间复杂度与输入是否有序无关,始终稳定为:O(nlogn) 2分
登录后查看选项
23 二分查找适用于对无序数组和有序数组的查找。 2分
登录后查看选项
24 小杨有100元去超市买东西,每个商品有各自的价格,每种商品只能买1个,小杨的目标是买到最多数量的商品。小杨采用的策略是每次挑价格最低的商品买,这体现了分治思想。 2分
登录后查看选项
25 归并排序算法体现了分治算法,每次将大的待排序数组分成大小大致相等的两个小数组,然后分别对两个小数组进行排序,最后对排好序的两个小数组合并成有序数组。 2分
登录后查看选项
编程题 共2道
26

平均分配


题目描述

小 A 有 2n 件物品,小 B 和小 C 想从小 A 手上买走这些物品。对于第 i 件物品,小 B 会以 bi 的价格购买,而小 C 会以 ci 的价格购买。为了平均分配这 2n 件物品,小 A 决定小 B 和小 C 各自只能买走恰好 n 件物品。你能帮小 A 求出他卖出这 2n 件物品所能获得的最大收入吗?


输入格式

第一行,一个正整数 n。

第二行,2n 个整数 b1, b2, ..., b2n

第三行,2n 个整数 c1, c2, ..., c2n


输出格式

一行,一个整数,表示答案。


输入输出样例
输入 #1
3
1 3 5 6 8 10
2 4 6 7 9 11
输出 #1
36
输入 #2
2
6 7 9 9
1 2 10 12
输出 #2
35
说明/提示
数据范围

对于 20% 的测试点,保证 1≤n≤8。

对于另外 20% 的测试点,保证 0≤bi≤1,0≤ci≤1。

对于所有测试点,保证 1≤n≤105,0≤bi≤109,0≤ci≤109

25分
登录后作答
27

原根判断


题目描述

小 A 知道,对于质数 p 而言,p 的原根 g 是满足以下条件的正整数:

1 < g < p;

gp-1 mod p = 1;

对于任意 1 ≤ i < p-1 均有 gi mod p ≠ 1。

其中 a mod p 表示 a 除以 p 的余数。

小 A 现在有一个整数 a,请你帮他判断 a 是不是 p 的原根。


输入格式

第一行,一个正整数 T,表示测试数据组数。

每组测试数据包含一行,两个正整数 a,p。


输出格式

对于每组测试数据,输出一行,如果 a 是 p 的原根则输出 Yes,否则输出 No。


输入输出样例
输入 #1
3
3 998244353
5 998244353
7 998244353
输出 #1
Yes
Yes
No

说明/提示
数据范围

对于 40% 的测试点,保证 3 ≤ p ≤ 103

对于所有测试点,保证 1 ≤ T ≤ 20,3 ≤ p ≤ 109,1 < a < p,p 为质数。

25分
登录后作答