2026/4/18 8:55:24
网站建设
项目流程
做产品代理上哪个网站好,网站文字源码,网站建设出初级者选哪家,广州网站建设中心欢迎大家订阅我的专栏#xff1a;算法题解#xff1a;C与Python实现#xff01; 本专栏旨在帮助大家从基础到进阶 #xff0c;逐步提升编程能力#xff0c;助力信息学竞赛备战#xff01;
专栏特色 1.经典算法练习#xff1a;根据信息学竞赛大纲#xff0c;精心挑选…欢迎大家订阅我的专栏算法题解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-279693972−279693变换693 693693963 − 369 594 963-369594963−369594变换594 594594954 − 459 495 954-459495954−459495。因此经过4 44次变换得到了495 495495。现在输入的三位数你能通过编程得出这个三位数经过多少次变换能够得到495 495495吗【输入】输入一行包含一个符合要求的三位数N NN。【输出】输出一行包含一个整数C CC表示经过C CC次变换得到495 495495。【输入样例】352【输出样例】4【算法标签】《洛谷 B3866 数字黑洞》 #GESP# #2023#【代码详解】#includeiostream#includealgorithmusingnamespacestd;intmain(){intn;cinn;// 检查输入范围if(n100||n999){cout请输入三位数endl;return0;}// 检查是否全相同intan/100,b(n/10)%10,cn%10;if(abbc){cout数字全相同不会收敛endl;return0;}intsteps0;while(n!495){// 分解数字intdigits[3];digits[0]n/100;// 百位digits[1](n/10)%10;// 十位digits[2]n%10;// 个位// 升序排序得最小数sort(digits,digits3);intmin_numdigits[0]*100digits[1]*10digits[2];// 降序排序得最大数sort(digits,digits3,greaterint());intmax_numdigits[0]*100digits[1]*10digits[2];// 计算差值nmax_num-min_num;steps;// 安全限制防止死循环if(steps100){cout可能陷入循环endl;return0;}}coutstepsendl;return0;}【运行结果】352 4