GESP2025年6月认证C++五级( 第一部分选择题(1-8))


🎯 第1题:链表比数组插入更有效率

1、🌈故事

数组骑士 🧱 和 链表精灵 🔗 比赛:

👉 "谁在插入、删除时更快?"


2、🧠一步一步分析

① 数组:

  • 插入一个数 👉 后面都要往后挪 ❌

  • 删除一个数 👉 后面都要往前挪 ❌

② 链表:

  • 插入 👉 改指针就行 ✅

  • 删除 👉 改指针就行 ✅


3、✅结论

👉 链表更擅长:插入和删除

🎉答案:C

题目中,其他答案都是数组的专长。


4、📌小口诀

👉 数组要搬家,链表改指针



🎯 第2题:怎么判断链表是空的?

1、🌈故事

守门员问:

👉 "这个链表里面有没有人?"


2、🧠一步一步分析

判断"空"就是看:

① head 是不是空 👉 ✅

② tail 是不是空 👉 ✅

③ size 是不是 0 👉 ✅


3、❌错误选项:

👉 head.data == 0

问题:

  • head 是指针!

  • 不能直接用 .data


4、✅结论

🎉答案:C


5、📌小口诀

👉 判断空,看有没有节点,不看数值



🎯 第3题:往链表尾巴加人

1、🌈故事

队伍后面来了一个新同学 👦

👉 要接到最后!


2、🧠一步一步操作

① 让原尾巴指向新节点

👉 tail->next = newNode

② 新节点指回原尾巴

👉 newNode->prev = tail

③ 更新尾巴

👉 tail = newNode


3、✅结论

🎉答案:D


4、📌小口诀

👉 先连后指,最后换尾



🎯 第4题:约瑟夫淘汰游戏

1、🌈故事

一圈小朋友,每数到 k 淘汰一个 😵

现在要删除当前人!


2、🧠正确步骤

① 断开链

👉 prev->next = p->next

② 删除节点

👉 delete p

③ 移动到下一个

👉 p = prev->next


⚠️顺序不能乱!


3、✅结论

🎉答案:A


4、📌小口诀

👉 先断链 → 再删除 → 再移动



🎯 第5题:质数判断的小技巧

1、🌈故事

质数侦探在找(合数)


2、🧠关键规律

👉 大于3的质数,都在:

👉 6k ± 1

例如:

  • 5 = 6×1 -1

  • 7 = 6×1 +1

  • 11 = 6*2 -1

  • 13 = 6*2 +1


3、🧠分析选项

A ❌(代码已经特判5)

B ❌(不用检查到 n/2)

C ✅(核心规律)

D ❌ (慢了)


4、✅结论

🎉答案:C


5、📌小口诀

👉 质数藏在 6k±1



🎯 第6题:最大公约数(谁更快)

1、🌈故事

两个方法比赛:

  • 🐢 暴力枚举

  • ⚡ 欧几里得算法


2、🧠分析

👉 欧几里得(递归)更快 ✅


3、❌错误点:

👉 改成 i > 1

问题:

  • 如果最大公约数是1,就找不到了 ❌

4、✅结论

🎉答案:D


5、📌小口诀

👉 gcd 可能是1,不能漏!



🎯 第7题:找质数的三种方法

1、🌈故事

三位选手比赛:

1️⃣ 普通判断(慢)

2️⃣ 埃氏筛(很快)

3️⃣ 线性筛法比埃氏筛法更快,尤其在处理大范围数据时效率优势显著。


2、🧠比较

👉 速度:

普通 < 埃氏筛 < 线性筛


❌错误说法:

👉 "埃氏筛最快" ,说的太绝对,肯定不正确。


3、✅结论

🎉答案:D


4、📌小口诀

👉 埃氏筛法,线性筛都很快,

👉 小范围数据(如 n≤10^6):可以使用埃氏筛

👉 大范围数据(如 n≥10^7):一定要使用线性筛



🎯 第8题:唯一分解定理

1、🌈故事

每个数字都有"唯一拆分方式"


2、🧠规律

👉 每个数都能拆成:

👉 质数 × 质数 × ...

而且:

👉 只有一种拆法!


3、🧠举例

12 = 2 × 2 × 3

不能写成别的组合


4、✅结论

🎉答案:B


5、📌小口诀

👉 一个数 = 唯一的质数乘积


🌟 知识点总结:

1️⃣ 链表插删快

2️⃣ 判断空看指针

3️⃣ 插入三步走

4️⃣ 删除要顺序

5️⃣ 质数看6k±1

6️⃣ gcd不能漏1

7️⃣ 线性筛最快

8️⃣ 质数分解唯一


相关推荐
同勉共进4 小时前
记一例 vibe coding + gcc bug 导致的线程池死锁问题
c++·线程池·gcc·死锁·vibe coding
我叫洋洋4 小时前
C ++ [ hello world ]
c语言·c++·算法
王维同学7 小时前
[自学][Windows C++]RunOnceEx 注册表分组键的安全遍历
c++·windows·安全·开源
Scott9999HH8 小时前
告别流量波动玄学!从法拉第电磁定律到底层 C/C++ 流量累积算法,深度解密工业级电磁流量计选型与开发
c语言·c++·算法
脱胎换骨-军哥9 小时前
C++/Rust无缝互操作:混合系统新常态
开发语言·c++·rust
旖-旎10 小时前
LeetCode 279:完全平方数(完全背包)—— 题解
c++·算法·leetcode·动态规划·背包问题
胖大和尚11 小时前
C++ 多线程编程的实现方式
c++·thread
在水一缸12 小时前
深入浅出 Catch2:现代 C++ 测试框架的优雅实践
开发语言·c++·单元测试·log4j·测试框架·catch2
2401_8414956413 小时前
【数据结构】B*树
数据结构·c++·b树·算法·删除·插入·三分分裂
斐夷所非13 小时前
在纷繁竞逐中稳步前行:C++ 2006–2020
c++