当前位置: 首页 > news >正文

GESP认证C++编程真题解析 | 202306 二级

​欢迎大家订阅我的专栏:算法题解:C++与Python实现!
本专栏旨在帮助大家从基础到进阶 ,逐步提升编程能力,助力信息学竞赛备战!

专栏特色
1.经典算法练习:根据信息学竞赛大纲,精心挑选经典算法题目,提供清晰的代码实现与详细指导,帮助您夯实算法基础。
2.系统化学习路径:按照算法类别和难度分级,从基础到进阶,循序渐进,帮助您全面提升编程能力与算法思维。

适合人群:

  • 准备参加蓝桥杯、GESP、CSP-J、CSP-S等信息学竞赛的学生
  • 希望系统学习C++/Python编程的初学者
  • 想要提升算法与编程能力的编程爱好者

附上汇总帖:GESP认证C++编程真题解析 | 汇总


编程题

B3840 找素数

【题目来源】

洛谷:[B3840 GESP202306 二级] 找素数 - 洛谷

【题目描述】

小明刚刚学习了素数的概念:如果一个大于 \(1\) 的正整数,除了 \(1\) 和它自身外,不能被其他正整数整除,则这个正整数是素数。现在,小明想找到两个正整数 \(A\)\(B\) 之间(包括 \(A\)\(B\))有多少个素数。

【输入】

输入只有一行两个正整数 \(A, B\)。约定 \(2 \le A \le B \le 1000\)

【输出】

输出一行,包含一个整数 \(C\),表示找到 \(C\) 个素数。

【输入样例】

2 10

【输出样例】

4

【算法标签】

《洛谷 B3840 找素数》 #循环结构# #GESP# #2023#

【代码详解】

#include <bits/stdc++.h>
using namespace std;int a, b;     // 区间[a, b]
int ans;      // 质数计数器/*** 判断一个数是否为质数* 质数定义:大于1的自然数,只能被1和它自身整除* @param x 要判断的数字* @return 如果是质数返回true,否则返回false*/
bool isprime(int x)
{// 小于2的数不是质数if (x < 2)return false;// 从2到√x检查是否能被整除for (int i = 2; i * i <= x; i++){// 如果x能被i整除,则x不是质数if (x % i == 0)return false;}// 如果没有找到因子,x是质数return true;
}int main()
{// 输入区间[a, b]cin >> a >> b;// 遍历区间[a, b]内的每个数for (int i = a; i <= b; i++){// 判断i是否为质数if (isprime(i)){ans++;  // 如果是质数,计数器加1}}// 输出区间内质数的个数cout << ans << endl;return 0;
}

【运行结果】

2 10
4

B3841 自幂数判断

【题目来源】

洛谷:[B3841 GESP202306 二级] 自幂数判断 - 洛谷

【题目描述】

自幂数是指,一个 \(N\) 位数,满足各位数字 \(N\) 次方之和是本身。例如,\(153\)\(3\) 位数,其每位数的 \(3\) 次方之和,\(1^3+5^3+3^3=153\),因此 \(153\) 是自幂数;\(1634\)\(4\) 位数,其每位数的 \(4\) 次方之和,\(1^4+6^4+3^4+4^4=1634\),因此 \(1634\) 是自幂数。现在,输入若干个正整数,请判断它们是否是自幂数。

【输入】

输入第一行是一个正整数 \(M\),表示有 \(M\) 个待判断的正整数。约定 \(1 \le M \le 100\)

从第 \(2\) 行开始的 \(M\) 行,每行一个待判断的正整数。约定这些正整数均小于 \(10^8\)

【输出】

输出 \(M\) 行,如果对应的待判断正整数为自幂数,则输出英文大写字母 \(\texttt T\),否则输出英文大写字母 \(\texttt F\)

提示:不需要等到所有输入结束在依次输出,可以输入一个数就判断一个数并输出,再输入下一个数。

【输入样例】

3
152
111
153

【输出样例】

F
F
T

【算法标签】

《洛谷 B3841 自幂数判断》 #循环结构# #GESP# #2023#

【代码详解】

#include <bits/stdc++.h>
using namespace std;int m;  // 测试用例数量int main()
{// 输入测试用例数量cin >> m;// 处理每个测试用例while (m--){int n;  // 要检查的数字cin >> n;// 将数字转换为字符串,方便获取每一位string s = to_string(n);int len = s.size();  // 获取数字的位数int ans = 0;  // 存储幂和// 遍历每一位数字for (int i = 0; i < s.size(); i++){// 计算每一位数字的len次幂,并累加到ans// s[i]-'0' 将字符转换为对应的数字// pow(a, b) 计算a的b次幂ans += pow((s[i] - '0'), len);}// 判断是否是水仙花数if (ans == n){cout << "T" << endl;  // 是水仙花数}else{cout << "F" << endl;  // 不是水仙花数}}return 0;
}

【运行结果】

3
152
F
111
F
153
T
http://www.jsqmd.com/news/264042/

相关文章:

  • 小程序毕设项目:基于springboot+微信小程序的校园外卖直送平台(源码+文档,讲解、调试运行,定制等)
  • 人生的第一个博客
  • 2026年,装修小白必看的口碑装修公司大揭秘! - 品牌测评鉴赏家
  • 小程序计算机毕设之基于springboot+微信小程序的校园点餐系统校园外卖直送平台(完整前后端代码+说明文档+LW,调试定制等)
  • 软件测试面试全攻略之中级篇
  • 机器学习在大数据质量检测中的应用案例
  • 【毕业设计】基于springboot+微信小程序的校园外卖直送平台(源码+文档+远程调试,全bao定制等)
  • 如何在一个可执行程序中执行脚本语言
  • 【课程设计/毕业设计】针对校园环境打造的集点餐、配送、商家管理、用户评价等于一体的线上餐饮服务系统基于springboot+微信小程序的校园外卖直送平台【附源码、数据库、万字文档】
  • 强烈安利自考AI论文平台TOP10:选对工具轻松过关
  • 2026装修公司大揭秘:售后服务哪家强? - 品牌测评鉴赏家
  • 【计算机毕业设计案例】基于Springboot+Vue+Java的4S店车辆销售预约看车服务管理系统基于springboot的4s店车辆管理系统(程序+文档+讲解+定制)
  • 26届信息安全专业/网络安全专业最新选题推荐③(功能点+创新点+难度评估分类)
  • 气球数据集4546张VOC+YOLO格式
  • 26届网络空间安全专业和信息对抗专业选题推荐(包含功能点+创新点+难度评估)
  • 吐血推荐MBA必用TOP10 AI论文软件:开题报告文献综述全攻略
  • 1.18
  • Java计算机毕设之基于Java springboot4s店车辆管理系统车辆预约保养维修基于springboot的4s店车辆管理系统(完整前后端代码+说明文档+LW,调试定制等)
  • 基于Regsvr32.exe的渗透测试完整记录
  • L2 Intern-S1/InternVL 微调公式识别实践
  • redis启动连接命令
  • 短视频平台如何将16:9照片发成竖版全屏,而不是横板
  • Teanary 多语言多货币外贸商城系统架构与数据流程图
  • 小程序毕设项目:基于springboot+微信小程序的公考宝典小程序(源码+文档,讲解、调试运行,定制等)
  • Java毕设项目:基于springboot的4s店车辆管理系统(源码+文档,讲解、调试运行,定制等)
  • 基于ssm的鲜花售卖系统-计算机毕业设计源码+LW文档
  • Stephen Krashen(史蒂芬·克拉申)
  • 2026年目前诚信的双相钢法兰直销厂家哪家权威,高温合金法兰/不锈钢法兰/法兰/非标法兰,双相钢法兰直销厂家排行 - 品牌推荐师
  • 4种空中飞行物数据集3561张VOC+YOLO(热气球飞艇飞机直升机)
  • 共同探索的价值