news 2026/6/9 21:17:25

GESP认证C++编程真题解析 | B3850 [GESP202306 四级] 幸运数

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
GESP认证C++编程真题解析 | B3850 [GESP202306 四级] 幸运数

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

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

适合人群:

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

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


【题目来源】

洛谷:[B3850 GESP202306 四级] 幸运数 - 洛谷

【题目描述】

小明发明了一种 “幸运数”。一个正整数,其偶数位不变(个位为第1 11位,十位为第2 22位,以此类推),奇数位做如下变换:将数字乘以7 77,如果不大于9 99则作为变换结果,否则把结果的各位数相加,如果结果不大于9 99则作为变换结果,否则(结果仍大于9 99)继续把各位数相加,直到结果不大于9 99,作为变换结果。变换结束后,把变换结果的各位数相加,如果得到的和是8 88的倍数,则称一开始的正整数为幸运数。

例如,16347 1634716347:第1 11位为7 77,乘以7 77结果为49 4949,大于9 99,各位数相加为13 1313,仍大于9 99,继续各位数相加,最后结果为4 44;第3 33位为3 33,变换结果为3 33;第5 55位为1 11,变换结果为7 77。最后变化结果为76344 7634476344,对于结果76344 7634476344其各位数之和为24 2424,是8 88的倍数。因此16347 1634716347是幸运数。

【输入】

输入第一行为正整数N NN,表示有N NN个待判断的正整数。约定1 ≤ N ≤ 20 1 \le N \le 201N20

从第2 22行开始的N NN行,每行一个正整数,为待判断的正整数。约定这些正整数小于1 0 12 10^{12}1012

【输出】

输出N NN行,对应N NN个正整数是否为幸运数,如是则输出T,否则输出F

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

【输入样例】

2 16347 76344

【输出样例】

T F

【算法标签】

《洛谷 B3850 幸运数》 #函数与递归# #GESP# #2023#

【代码详解】

#include<bits/stdc++.h>usingnamespacestd;#defineintlonglong// 使用长整型constintN=15;// 数组大小,用于存储数字的各位intn;// 测试用例数量inta[N];// 存储数字的各位数字/** * 递归计算数字的数字根 * 数字根:反复将数字的各位相加,直到得到一位数 * 例如:38 -> 3+8=11 -> 1+1=2 * @param x 输入数字 * @return 数字根 */intcalc(intx){// 调试输出// cout << "x " << x << endl;// 如果已经是一位数,直接返回if(x<=9){returnx;}// 计算各位数字之和intres=0;while(x){res+=x%10;// 加上个位数字x/=10;// 去掉个位}// 递归计算数字根returncalc(res);}/** * 检查数字是否符合特定规则 * 规则: * 1. 从个位开始(第1位),奇数位置的数字乘以7 * 2. 计算乘积的数字根 * 3. 所有处理后的数字之和能被8整除 * @param x 要检查的数字 * @return 如果处理后数字之和能被8整除返回true,否则false */boolcheck(intx){// 将数字分解为各位数字intcur=0;// 数字位数while(x){a[++cur]=x%10;// 存储个位x/=10;// 去掉个位}// 处理奇数位置的数字for(inti=1;i<=cur;i++){if(i%2==1)// 奇数位置(从个位开始算第1位){inttmp=a[i]*7;// 乘以7a[i]=calc(tmp);// 计算数字根}}// 计算处理后的数字之和intans=0;for(inti=1;i<=cur;i++){ans+=a[i];}// 判断和是否能被8整除returnans%8==0;}signedmain()// 因为使用了#define int long long{// 输入测试用例数量cin>>n;// 处理每个测试用例while(n--){intx;cin>>x;// 检查数字并输出结果if(check(x)){cout<<"T"<<endl;// 符合条件}else{cout<<"F"<<endl;// 不符合条件}}return0;}

【运行结果】

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

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

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

作者头像 李华
网站建设 2026/6/10 12:29:58

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

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

作者头像 李华
网站建设 2026/6/10 14:10:32

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

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

作者头像 李华
网站建设 2026/6/10 5:15:35

LobeChat蓝绿部署实施方案

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

作者头像 李华