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

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

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

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

适合人群:

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

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


编程题

B3865 小杨的 X 字矩阵

【题目来源】

洛谷:[B3865 GESP202309 二级] 小杨的 X 字矩阵 - 洛谷

【题目描述】

小杨想要构造一个 的 X 字矩阵( 为奇数),这个矩阵的两条对角线都是半角加号 + ,其余都是半角减号 - 。例如,一个 \(5 \times 5\) 的 X 字矩阵如下:

+---+
-+-+-
--+--
-+-+-
+---+

请你帮小杨根据给定的 打印出对应的“X 字矩阵”。

【输入】

一行一个整数 ( \(5 \le N \le 49\),保证为奇数)。

【输出】

输出对应的“X 字矩阵”。

请严格按格式要求输出,不要擅自添加任何空格、标点、空行等任何符号。你应该恰好输出 \(N\) 行,每行除了换行符外恰好包含 \(N\) 个字符,这些字符要么是 +,要么是 -

【输入样例】

5

【输出样例】

+---+
-+-+-
--+--
-+-+-
+---+

【算法标签】

《洛谷 B3865 小杨的X字矩阵》 #GESP# #2023#

【代码详解】

#include <bits/stdc++.h>
using namespace std;const int N = 55;  // 最大矩阵大小
int n;            // 矩阵大小
char a[N][N];     // 字符矩阵int main()
{// 输入矩阵大小ncin >> n;// 初始化矩阵,全部填充为'-'for (int i = 1; i <= n; i++){for (int j = 1; j <= n; j++){a[i][j] = '-';     }}// 初始化对角线指针int l = 1;  // 主对角线列索引(从左到右)int r = n;  // 副对角线列索引(从右到左)// 填充两条对角线for (int i = 1; i <= n; i++)  // 遍历每一行{a[i][l] = '+';  // 主对角线:行i,列la[i][r] = '+';  // 副对角线:行i,列rl++;  // 主对角线列索引向右移动r--;  // 副对角线列索引向左移动}// 输出矩阵for (int i = 1; i <= n; i++){for (int j = 1; j <= n; j++){cout << a[i][j];}cout << endl;  // 每行结束后换行}return 0;
}

【运行结果】

5
+---+
-+-+-
--+--
-+-+-
+---+

B3866 数字黑洞

【题目来源】

洛谷:[B3866 GESP202309 二级] 数字黑洞 - 洛谷

【题目描述】

给定一个三位数,要求各位不能相同。例如,\(352\) 是符合要求的,\(112\) 是不符合要求的。将这个三位数的三个数字重新排列,得到的最大的数,减去得到的最小的数,形成一个新的三位数。对这个新的三位数可以重复上述过程。神奇的是,最终一定会得到 \(495\)

试试看,重新排列 \(352\),得到的最大数为 \(532\),最小数为 \(235\),它们的差是 \(297\);变换 \(297\),得到 \(972-279=693\);变换 \(693\)\(963-369=594\);变换 \(594\)\(954-459=495\)。因此,经过 \(4\) 次变换得到了 \(495\)

现在,输入的三位数,你能通过编程得出,这个三位数经过多少次变换能够得到 \(495\) 吗?

【输入】

输入一行,包含一个符合要求的三位数 \(N\)

【输出】

输出一行,包含一个整数 \(C\),表示经过 \(C\) 次变换得到 \(495\)

【输入样例】

352

【输出样例】

4

【算法标签】

《洛谷 B3866 数字黑洞》 #GESP# #2023#

【代码详解】

#include <iostream>
#include <algorithm>
using namespace std;int main()
{int n;cin >> n;// 检查输入范围if (n < 100 || n > 999){cout << "请输入三位数" << endl;return 0;}// 检查是否全相同int a = n/100, b = (n/10)%10, c = n%10;if (a == b && b == c){cout << "数字全相同,不会收敛" << endl;return 0;}int steps = 0;while (n != 495){// 分解数字int digits[3];digits[0] = n / 100;       // 百位digits[1] = (n / 10) % 10; // 十位digits[2] = n % 10;        // 个位// 升序排序得最小数sort(digits, digits + 3);int min_num = digits[0]*100 + digits[1]*10 + digits[2];// 降序排序得最大数sort(digits, digits + 3, greater<int>());int max_num = digits[0]*100 + digits[1]*10 + digits[2];// 计算差值n = max_num - min_num;steps++;// 安全限制,防止死循环if (steps > 100){cout << "可能陷入循环" << endl;return 0;}}cout << steps << endl;return 0;
}

【运行结果】

352
4
http://www.jsqmd.com/news/264117/

相关文章:

  • 2026年中国985高校人工智能专业综合实力十强排名
  • js函数防抖
  • LeeCode_17 电话号码的字母组合
  • Selenium 从环境搭建到 Web 自动化实战
  • 通信原理篇---PAM与PCM
  • GESP认证C++编程真题解析 | 202309 四级
  • P1339 Heat Wave G
  • P2910 Clear And Present Danger S
  • 职场晋升需要 AI 证书,选偏理论还是偏实操的更有用?
  • TCP 协议深度解析与实践:从零基础到精通
  • 小程序毕设选题推荐:基于springboot+微信小程序的校园竞赛管理系统【附源码、mysql、文档、调试+代码讲解+全bao等】
  • > STM32-200-多功能门禁人脸识别指纹识别RFID刷卡密码(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_文章底部可以扫码
  • 数据质量与主数据管理:确保企业核心数据准确
  • 51-C40-温湿度检测+上下限+加热+空调降温+加湿+除湿+手动+自动+OLED屏+声光报警+按键+(无线方式选择)(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_文章底部可以扫码
  • 假期schedule
  • 数论2:gcd、lcm与exgcd
  • 计算机小程序毕设实战-基于SpringBoot+Vue的高校学科竞赛管理系统微信小程序基于springboot+微信小程序的院竞赛管理系统【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • day144—递归—平衡二叉树(LeetCode-110)
  • 2026年市场可靠的活性炭箱优质厂家哪家靠谱,滤筒除尘器/旋风除尘器/活性炭箱/催化燃烧,活性炭箱生产商口碑排行 - 品牌推荐师
  • STM32单片机分享:智能鱼缸系统
  • 2026年国内可靠的活性炭箱制造厂家推荐排行榜,RTO/旋风除尘器/沸石转轮一体机/除尘器,活性炭箱公司推荐榜 - 品牌推荐师
  • 交通仿真软件:VISSIM_(22).交通仿真在城市规划中的应用
  • STM32单片机分享:智能书桌系统
  • day145—递归—二叉树的右视图(LeetCode-199)
  • 理性选择RTO:基于用户反馈的供货商横向评测,沸石转轮/活性炭箱/RTO/沸石转轮一体机,RTO源头厂家排行榜 - 品牌推荐师
  • 小程序计算机毕设之基于微信小程序的大学生科技竞赛管理系统的设计与实现基于springboot+微信小程序的院竞赛管理系统(完整前后端代码+说明文档+LW,调试定制等)
  • 2026苏州新房装修大揭秘:这些服务优质的公司你不能错过! - 品牌测评鉴赏家
  • Flink Elasticsearch Connector 从 0 到 1 搭一个高吞吐、可容错的 ES Sink
  • Flink Firehose Sink 把实时流数据稳定写进 Amazon Kinesis Data Firehose
  • GESP认证C++编程真题解析 | 202309 五级