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

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
http://www.cnnetsun.cn/news/101362.html

相关文章:

  • EmotiVoice如何确保克隆声音不侵犯原声权?
  • 【Java毕设全套源码+文档】基于springboot的人力资源管理系统的设计与实现(丰富项目+远程调试+讲解+定制)
  • 【Java毕设全套源码+文档】基于Java的贫困地区儿童资助系统的设计与实现(丰富项目+远程调试+讲解+定制)
  • jQuery EasyUI 应用 - 创建展开行明细编辑表单的 CRUD 应用
  • 9、量子计算在供应链实时路线优化中的应用
  • 【JVS更新日志】物联网、低代码、项目管理12.17更新说明!
  • 网络安全证书合集,看这一篇就够啦!
  • 打卡信奥刷题(2549)用C++实现信奥 P2113 看球泡妹子
  • 四天学会一本书的公司靠谱吗
  • 低成本高质量:为何越来越多团队选择EmotiVoice?
  • EmotiVoice与主流语音框架对比:兼容性与扩展性优势
  • 2025年网络安全人员薪酬趋势
  • EmotiVoice是否支持方言合成?当前进展说明
  • EmotiVoice语音合成系统灰度总结报告撰写框架
  • EmotiVoice语音合成系统负载均衡部署方案探讨
  • 基于SSM框架的后台管理系统设计与实现
  • Python基础练习5.按顺序输出整数
  • 毕设救星:Spring Boot + Vue 打造“数字非遗”——中华传统文化展示与文创众筹平台
  • 政策模型出现再平衡:美联储主席遴选路径反转,哈塞特在“联储独立性约束条件”下明确立场
  • 医院信息科经常听到的那些话
  • 校园实验室|基于springboot 校园实验室管理系统(源码+数据库+文档)
  • AI的下一个十年,属于Agent!读懂这篇,你就抓住了未来十年的最大红利!
  • 基于springboot + vue律师咨询系统(源码+数据库+文档)
  • 基于springboot + vue动物园管理系统(源码+数据库+文档)
  • 锐捷网络设备(盒式交换机,路由器,EG网关,无线AC、AP)恢复出厂设置
  • 锐捷RG-AP220-E胖模式配置
  • 2026毕设ssm+vue基于框架的临时摊位管理系统论文+程序
  • 重磅推出!郑老师团队26年22门统计课程,发文即可退款
  • jQuery EasyUI 布局 - 创建折叠面板
  • jQuery EasyUI 布局 - 动态添加标签页(Tabs)