CCF-GESP 等级考试 2023年12月认证C++五级真题解析

2023年12月真题

一、单选题(每题2分,共30分)

在这里插入图片描述
正确答案:C
考察知识点:算法
解析:fiboA 是很好理解的,但是执行效率不高,有的计算是重复的,导致效率低。

在这里插入图片描述
在这里插入图片描述
正确答案:C
考察知识点:算法
解析:本题考察归并排序。归并排序需要先将排序序列一分为二,左边的元素的区间是[s,m],右边元素区间是[m+1,t],然后递归排序两个子序列后,将有序的子序列合并。

在这里插入图片描述
正确答案:D
考察知识点:算法
解析:本题考察递归算法。输出 fracA 函数,是先输出1,再输出5 的阶乘,120;23行代码,执行fracB函数,此时stepCount从2开始计数,依次输出2/3/4/5/6,再输出 5 的阶乘 120。

在这里插入图片描述
在这里插入图片描述
正确答案:A
考察知识点:排序算法
解析:本题考察排序算法。前一个数字,下标是 j 的数字是偶数,后面的数字下标是 j+1 的是奇数,按照要求,偶数在奇数的后面,要交换。A 符合题意条件。

在这里插入图片描述
正确答案:B
考察知识点:指针
解析:本题考察双链表知识点。每个节点需要 2 个指针,指向前驱节点和后继节点。按照要求,新的节点要求插入到链表头部。头节点和新插入的节点都需要修改。B 选项能够完成新节点的插入。

在这里插入图片描述
正确答案:A
考察知识点:数学
解析:本题考察数学算法,求最大公约数。这是典型的最大公约数写法的变形。排除法选 A。

在这里插入图片描述
在这里插入图片描述
正确答案:C
考察知识点:排序算法
解析:本题考察快速排序。Less 数组保存的是小于等于pivot,然后加上pivot
元素,再加上大于等于 pivot 的数组。

在这里插入图片描述
正确答案:B
考察知识点:数学
解析:本题考察数学知识,判断质数。A 函数时间复杂度是O(n/2),B 函数算法是 O(sqrt(n)),大部分情况后者是优的,值更小。

在这里插入图片描述
在这里插入图片描述
正确答案:D
考察知识点:算法
解析:本题考察算法知识点。二分法每次规模减半,查找平均时间复杂度是B。

在这里插入图片描述
正确答案:B
考察知识点:算法
解析:本题考察算法知识点。二分法每次规模减半,单词查找平均时间复杂度是 B。

在这里插入图片描述
正确答案:D
考察知识点:算法
解析:本题考察高精度知识点。每次保存对应位和的最低位数字,去掉最低位数字后,保持进位,循环执行。

在这里插入图片描述
在这里插入图片描述
正确答案:B
考察知识点:链表
解析:本题考察链表知识点。每个节点指向自己前一个节点和后一个节点,因此是双向链表。

在这里插入图片描述
正确答案:B
考察知识点:计算机基础知识
解析:本题考察计算机基础知识。通信卫星可以转发无线电信号,实现通信地球站间或地球站与航天器间的无线电通信,因此具有信号中继作用。选B。

在这里插入图片描述
正确答案:C
考察知识点:数学
解析:本题考察数学知识。线筛和埃筛都可以判断素数,枚举也可以,二分规模减半,不能合理判断。

在这里插入图片描述
正确答案:B
考察知识点:排序算法
解析:本题考察排序算法知识。需要了解每种排序算法的特点。快速排序是选定一个数字,每次把比它小的放在左边,比元素大的放在右边,不能确定最值。

二、判断题(每题2分,共20分)

在这里插入图片描述
正确答案:正确
考察知识点:排序算法
解析:本题考察排序算法知识。归并排序算法的时间复杂度的描述正确。

在这里插入图片描述
正确答案:错误
考察知识点:算法
解析:因为考纲中对二分法同时列出了“二分查找”和“二分答案(或二分枚举)”。

在这里插入图片描述
正确答案:错误
考察知识点:算法
解析:本题考察递归算法知识。递归函数要调用自己。

在这里插入图片描述
正确答案:正确
考察知识点:算法
解析:本题考察贪心算法知识。贪心是局部达到最优。

在这里插入图片描述
正确答案:正确
考察知识点:数学
解析:本题考察数学知识。素数分解定理规定:任何一个整数都可以被分解为一系列因子的乘积,乘积中所有的因子都是质数(即素数)。(更严谨一点:大于1的整数)

在这里插入图片描述
正确答案:正确
考察知识点:排序
解析:本题考察排序算法知识。当数据初始有序时,插入排序的最快时间复杂度是 O(n),快排最坏时间复杂度是 O ( N 2 ) O(N^2) O(N2)

在这里插入图片描述
正确答案:错误
考察知识点:进制转换
解析:本题考察进制转换知识。转换后的内容要倒序输出并以0 开头。

在这里插入图片描述
正确答案:正确
考察知识点:排序
解析:本题考察排序算法知识。sort 默认是从小到大排序。

在这里插入图片描述
正确答案:正确
考察知识点:数学知识
解析:本题考察数学知识。可以循环 N 的一半找到所有因数。

在这里插入图片描述
正确答案:正确
考察知识点:排序算法
解析:本题考察排序算法知识。冒泡排序,相邻的数据交换,而且修改节点链的操作不会改变复杂度。

三、编程题(每题25分,共50分)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本题考察 数学知识,埃筛。

幸运数:所有大于等于 a a a 的完全平方数都是超级幸运数。所有超级幸运数的倍数都是幸运数。

那最小的幸运数必然是大于等于 a a a 的最小完全平方数,也就是 ceil(sqrt(a)) 的平方。定义一个数组,标记从 ceil(sqrt(a)) 开始的所有数的平方以及他们的倍数。给了数据范围 1000001,离1000001最近的完全平方数是1002001,可作为边界值。

#include<bits/stdc++.h>
using namespace std;
const int N=1002001; //1002001是离1000001最近的完全平方数 
int luckyNumBase[N]; //幸运数,下标等于元素值为幸运数,非幸运数存储它的幸运化
int main() {int a, n, num;cin>>a>>n;for(int i=ceil(sqrt(a)); i*i<=N; i++) {for(int num=1; i*i*num<=N; num++) {luckyNumBase[i*i*num]=i*i*num;}}int base=N;for(int i=N; i>=1; i--){if(luckyNumBase[i]==i) base=i;else luckyNumBase[i] = base;}for(int i=1; i<=n; i++) {cin>>num;if(luckyNumBase[num]==num) cout<<"lucky"<<endl;else cout<<luckyNumBase[num]<<endl;}return 0;
}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本题考察 位运算,循环。

题目给出了ai的范围, 0≤ai ≤2147483647,int类型(32位)可以存下的数,最左边符号位,把最右边算作0位,则表示数的最高位下标是30。两种食材的契合度是使用按位与运算得到的,按位与:都是1才是1,则契合度的值也必定是一个int类型能存储的值,且 1 越靠左边出现,该值越大 。

可以从最高位开始枚举,如果有两个以上的数截止到第i位都相同,则契合度res这一位可为1,否则,契合度res这一位为0。

#include <bits/stdc++.h>
using namespace std;
const int N=1e6;
int n, arr[N];//美味度
int main() {cin >> n;for (int i = 1; i <= n; i++) cin>>arr[i];//题目给出了ai的范围, 0≤ai ≤2147483647,int类型可以存下的数,32位存储//最左边表示符号,把最右边算作0位,则表示数的最高位下标是第30位int res=0, tmp=pow(2,30);//两种食材的契合度是使用按位与运算得到的,按位与:都是1才是1,则契合度的值也必定是一个int类型能存储的值,且 1 越靠左边出现,该值越大 //可以从最高位开始枚举,如果有两个以上的数截止到第i位都相同,则契合度res这一位可为1for(int i=30; i>=0; i--) {res+=tmp;    //预置res的 i 位为1int cnt=0;for(int j=1; j<=n; j++) {//如果 (a[j]&res)==res 成立,意味着a[j]和res截止到第i位都相同if ((arr[j]&res)==res) cnt++;}if (cnt<2) { //cnt<2 意味着没有或者只有1个数截止到第i位和res相同,无法通过按位与使得res的第i位为1,置res的 i 位为0res-=tmp;}tmp >>= 1;}cout<<res;return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/496556.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vscode + gdbserver远程调试开发板指南:

本章目录 步骤环境准备网络配置vscode配置步骤 (全图示例)开发板配置开始调试注意: 每次断开之后&#xff0c;开发板都需要重新启动gdbserver才可调试。 参考链接: 步骤 环境准备 将交叉编译链路径加入$PATH变量&#xff1a;确保系统能够找到所需的工具。 export PATH$PATH:/p…

Docker【初识Docker】

目录 为什么会出现Docker这门技术喃&#xff1f; 应用开发和部署的困境 容器技术的先兆 Docker 的出现&#xff1a;简化容器化 Docker 技术的关键创新&#xff1a; Docker 的广泛应用和变革 什么是 Docker&#xff1f; Docker的历史 早期背景&#xff1a;容器化和虚拟化…

金融租赁系统的发展与全球化战略实施探讨

内容概要 金融租赁系统的演变并非一帆风顺&#xff0c;像一场跌宕起伏的电影。首先&#xff0c;咱们得看看它的起源及现状。随着经济的快速发展&#xff0c;金融租赁逐渐作为一种灵活的融资手段崭露头角。在中国市场中&#xff0c;企业对设备和技术更新换代的需求日益迫切&…

畅游 Linux 开发天地:yum 与 vim 详解

&#x1f31f; 快来参与讨论&#x1f4ac;&#xff0c;点赞&#x1f44d;、收藏⭐、分享&#x1f4e4;&#xff0c;共创活力社区。&#x1f31f; &#x1f6a9;用通俗易懂且不失专业性的文字&#xff0c;讲解计算机领域那些看似枯燥的知识点&#x1f6a9; 前言 在当今数字…

C++--------继承

一、继承的基本概念 继承是 C 中的一个重要特性&#xff0c;它允许一个类&#xff08;派生类或子类&#xff09;继承另一个类&#xff08;基类或父类&#xff09;的属性和方法。这样可以实现代码的重用和建立类之间的层次关系。 #include <iostream>// 基类 class Base…

Doris的SQL原理解析

今天来介绍下Doris的SQL原理解析&#xff0c;主要从语法、解析、分析、执行等几个方面来介绍&#xff0c;可以帮助大家对Doris底层有个清晰的理解~ 一、Doris简介 Apache Doris是一个基于MPP架构的高性能、实时的分析型数据库&#xff0c;能够较好的满足报表分析、即席查询、…

HarmonyOS NEXT 实战之元服务:静态多案例效果(一)

背景&#xff1a; 前几篇学习了元服务&#xff0c;后面几期就让我们开发简单的元服务吧&#xff0c;里面丰富的内容大家自己加&#xff0c;本期案例 仅供参考 先上本期效果图 &#xff0c;里面图片自行替换 效果图1代码案例如下&#xff1a; import { authentication } from…

Elasticsearch:normalizer

一、概述 ‌Elastic normalizer‌是Elasticsearch中用于处理keyword类型字段的一种工具&#xff0c;主要用于对字段进行规范化处理&#xff0c;确保在索引和查询时保持一致性。 Normalizer与analyzer类似&#xff0c;都是对字段进行处理&#xff0c;但normalizer不会对字段进…

零基础微信小程序开发——页面导航之编程式导航(保姆级教程+超详细)

&#x1f3a5; 作者简介&#xff1a; CSDN\阿里云\腾讯云\华为云开发社区优质创作者&#xff0c;专注分享大数据、Python、数据库、人工智能等领域的优质内容 &#x1f338;个人主页&#xff1a; 长风清留杨的博客 &#x1f343;形式准则&#xff1a; 无论成就大小&#xff0c;…

计算机网络 (10)网络层

前言 计算机网络中的网络层&#xff08;Network Layer&#xff09;是OSI&#xff08;开放系统互连&#xff09;模型中的第三层&#xff0c;也是TCP/IP模型中的第二层&#xff0c;它位于数据链路层和传输层之间。网络层的主要任务是负责数据包从源主机到目的主机的路径选择和数据…

云计算时代携程的网络架构变迁

大家觉得有意义和帮助记得及时关注和点赞!!! 前言关于我0 关于携程云 网络演进时间表1 个基于 VLAN 的 L2 网络 1.1 要求1.2 解决方案&#xff1a;OpenStack Provider Network Model1.3 硬件网络拓扑1.4 主机网络拓扑1.5 总结 优势劣势2 个基于 SDN 的大型 L2 网络 2.1 新挑战2…

C#控件开发3—文本显示、文本设值

目录 1.文本设置1&#xff09;定义属性2&#xff09;定义事件 2.本文显示1) 定义属性2&#xff09;定义事件 End 如何绘制一个便捷的文本显示组件、文本设值组件&#xff08;TextShow,TextSet&#xff09;&#xff1f; 绘制此控件的目的就是方便一键搞定标签显示&#xff08;可…

SuperMap iDesktopX填补三维可视化地图海岸地形

kele 前言 在做沿海城市三维可视化地图时&#xff0c;会遇到这样一种现象&#xff1a;DEM数据与国家天地图官网的行政区边界不一致&#xff0c;使得三维可视化地图&#xff0c;出现如下图地形缺失现象&#xff1a; 一、原因分析 这是由于海岸线地区受地形精度、采集时间、沙…

代码随想录Day56 108. 冗余连接,109. 冗余连接II。

1.冗余连接 卡码网题目链接&#xff08;ACM模式&#xff09;(opens new window) 题目描述 有一个图&#xff0c;它是一棵树&#xff0c;他是拥有 n 个节点&#xff08;节点编号1到n&#xff09;和 n - 1 条边的连通无环无向图&#xff08;其实就是一个线形图&#xff09;&am…

MySQL外键类型与应用场景总结:优缺点一目了然

前言&#xff1a; MySQL的外键简介&#xff1a;在 MySQL 中&#xff0c;外键 (Foreign Key) 用于建立和强制表之间的关联&#xff0c;确保数据的一致性和完整性。外键的作用主要是限制和维护引用完整性 (Referential Integrity)。 主要体现在引用操作发生变化时的处理方式&…

双指针——查找总价格为目标值的两个商品

一.题目描述 LCR 179. 查找总价格为目标值的两个商品 - 力扣&#xff08;LeetCode&#xff09; 二.题目解析 这个题目非常简单&#xff0c;其实就是判断有没有两个数加起来等于target。 三.算法解析 1.暴力解法 暴力解法的话我们可以枚举出所有的情况&#xff0c;然后判…

使用 HTML5 Canvas 实现动态蜈蚣动画

使用 HTML5 Canvas 实现动态蜈蚣动画 1. 项目概述 我们将通过 HTML 和 JavaScript 创建一个动态蜈蚣。蜈蚣由多个节段组成&#xff0c;每个节段看起来像一个小圆形&#xff0c;并且每个节段上都附带有“脚”。蜈蚣的头部会在画布上随机移动。 完整代码在底部&#xff01;&…

Unity2021.3.16f1可以正常打开,但是Unity2017.3.0f3却常常打开闪退或者Unity2017编辑器运行起来就闪退掉

遇到问题&#xff1a; 从今年开始&#xff0c;不知道咋回事&#xff0c;电脑上的Unity2017像是变了个人似得&#xff0c;突然特别爱闪退掉&#xff0c;有时候还次次闪退&#xff0c;真是让人无语&#xff0c;一直以来我都怀疑是不是电脑上安装了什么别的软件了&#xff0c;导致…

深度学习中的并行策略概述:2 Data Parallelism

深度学习中的并行策略概述&#xff1a;2 Data Parallelism 数据并行&#xff08;Data Parallelism&#xff09;的核心在于将模型的数据处理过程并行化。具体来说&#xff0c;面对大规模数据批次时&#xff0c;将其拆分为较小的子批次&#xff0c;并在多个计算设备上同时进行处…

如何快速找到合适的科学问题

前面已经讲过 如何快速判断学术论文质量与相关性 如何描述科学问题&#xff1f;从“术”入手&#xff0c;悟出属于自己的“道” 医学图像分割任务中的典型科学问题 如何快速肝论文&#xff1f; 博士论文的写作架构 这些内容分别阐述了 如何找到重要的相关论文 找到科学问…