news 2026/4/16 18:10:18

GESP认证C++编程真题解析 | B3866 [GESP202309 二级] 数字黑洞

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
GESP认证C++编程真题解析 | B3866 [GESP202309 二级] 数字黑洞

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

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

适合人群:

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

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


【题目来源】

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

【题目描述】

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

试试看,重新排列352 352352,得到的最大数为532 532532,最小数为235 235235,它们的差是297 297297;变换297 297297,得到972 − 279 = 693 972-279=693972279=693;变换693 693693963 − 369 = 594 963-369=594963369=594;变换594 594594954 − 459 = 495 954-459=495954459=495。因此,经过4 44次变换得到了495 495495

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

【输入】

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

【输出】

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

【输入样例】

352

【输出样例】

4

【算法标签】

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

【代码详解】

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

【运行结果】

352 4
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/15 20:15:40

【Java毕设全套源码+文档】基于springboot的云上水果超市的设计与实现(丰富项目+远程调试+讲解+定制)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/4/16 9:02:40

8、硬件与软件RAID构建全解析

硬件与软件RAID构建全解析 1. 硬件考量 在计算机硬件配置中,有几个关键的硬件因素需要我们仔细考虑,尤其是在涉及到存储系统时。 1.1 单连接器附件(SCA) 为了方便热插拔磁盘,IBM为SCSI硬盘引入了单连接器附件(SCA)。SCA将数据传输、电源和可配置选项(如SCSI ID)集…

作者头像 李华
网站建设 2026/4/16 9:06:43

从事网络安全需要高学历吗,说下我自己的看法

这几天有兄弟私聊我&#xff0c;问我从事网安方面的工作不需要学历吗&#xff1f;身边很多人都说学网安没必要到研究生。 我说下自己的一些看法吧。 目前来说确实很多从事安全行业的人员学历比较低&#xff0c;上次公众号做了一个调查&#xff0c;结果50%左右是本科以下学历。但…

作者头像 李华
网站建设 2026/4/15 13:05:48

【Linux 基础知识系列:第二百零二篇】网络端口转发工具:socat

一、简介&#xff1a;为什么必须掌握 socat&#xff1f;netcat 老了&#xff1a;nc 不支持 IPv6、SSL、fork 并发、串口参数细粒度控制&#xff0c;项目 2007 后基本停更。socat 持续进化&#xff1a;支持 100 协议与机制&#xff0c;官方称“Socket CAT——把任何双端数据流拼…

作者头像 李华
网站建设 2026/4/16 9:02:17

LobeChat蓝绿部署实施方案

LobeChat 蓝绿部署实施方案 在当今 AI 应用快速迭代的背景下&#xff0c;如何在不中断服务的前提下完成系统升级&#xff0c;已经成为企业级智能聊天平台的核心挑战之一。尤其是像 LobeChat 这类承载着用户长期会话、文件交互和多模型调用的 AI 助手门户&#xff0c;任何一次发…

作者头像 李华