news 2026/7/22 11:34:54

GESP认证C++编程真题解析 | B3929 [GESP202312 五级] 小杨的幸运数

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
GESP认证C++编程真题解析 | B3929 [GESP202312 五级] 小杨的幸运数

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

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

适合人群:

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

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


【题目来源】

洛谷:[B3929 GESP202312 五级] 小杨的幸运数 - 洛谷

【题目描述】

小杨认为,所有大于等于a aa的完全平方数都是他的超级幸运数。

小杨还认为,所有超级幸运数的倍数都是他的幸运数。自然地,小杨的所有超级幸运数也都是幸运数。

对于一个非幸运数,小杨规定,可以将它一直+ 1 +1+1,直到它变成一个幸运数。我们把这个过程叫做幸运化。例如,如果a = 4 a=4a=4,那么4 44是最小的幸运数,而1 11不是,但我们可以连续对1 113 33+ 1 +1+1操作,使其变为4 44,所以我们可以说,1 11幸运化后的结果是4 44

现在,小杨给出N NN个数,请你首先判断它们是不是幸运数;接着,对于非幸运数,请你将它们幸运化。

【输入】

第一行2 22个正整数a , N a, Na,N

接下来N NN行,每行一个正整数x xx,表示需要判断(幸运化)的数。

【输出】

输出N NN行,对于每个给定的x xx,如果它是幸运数,请输出lucky,否则请输出将其幸运化后的结果。

【输入样例】

2 4 1 4 5 9

【输出样例】

4 lucky 8 lucky

【算法标签】

《洛谷 B3929 小杨的幸运数》 #二分# #素数判断,质数,筛法# #GESP# #2023#

【代码详解】

#include<bits/stdc++.h>usingnamespacestd;constintN=1100005;// 最大范围inta,n;// a: 判断是否为完全平方数, n: 查询次数intb[N];// 存储每个数的结果intmain(){// 输入a和ncin>>a>>n;// 计算sqrt(a)的上取整intx=sqrt(a);if(x*x!=a){x++;}// 预处理:标记所有完全平方数的倍数// 从x开始,遍历所有可能的平方数for(inti=x;i*i<=1100000;i++){// 将i*i的所有倍数标记为自身for(intj=i*i;j<=1100000;j+=i*i){b[j]=j;// 标记j是某个平方数的倍数}}// 预处理:填充未标记的位置// 从后向前扫描,记录最近遇到的正数x=0;// 这里重新使用x作为临时变量for(inti=1100000;i>=0;i--){if(b[i]){x=b[i];// 更新最近遇到的标记值}else{b[i]=x;// 填充为最近的标记值}}// 调试输出,查看b数组前20个值// for (int i=1; i<=20; i++)// cout << b[i] << " ";// cout << endl;// 处理n个查询for(inti=1;i<=n;i++){intt;cin>>t;// 输入查询的数if(b[t]==t){cout<<"lucky"<<endl;// 是完全平方数的倍数}else{cout<<b[t]<<endl;// 输出最近的大于等于t的标记值}}return0;}

【运行结果】

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

LangFlow镜像DevOps实践:持续交付AI应用的最佳路径

LangFlow镜像DevOps实践&#xff1a;持续交付AI应用的最佳路径 在大模型技术席卷各行各业的今天&#xff0c;企业对快速构建、迭代和部署智能应用的需求前所未有地强烈。然而现实是&#xff0c;许多团队仍困于“实验室能跑&#xff0c;上线就崩”的窘境——本地调试完美的LangC…

作者头像 李华
网站建设 2026/7/21 16:59:59

LangFlow镜像合规检查器:确保业务符合法律法规要求

LangFlow镜像合规检查器&#xff1a;确保业务符合法律法规要求 在AI应用加速渗透企业核心系统的今天&#xff0c;一个现实挑战日益凸显&#xff1a;如何在保持敏捷开发的同时&#xff0c;确保每一次模型调用、每一条数据流转都经得起法律与审计的审视&#xff1f;尤其是在金融、…

作者头像 李华
网站建设 2026/7/22 0:14:44

【专家级解读】:Open-AutoGLM如何解决多骑手轨迹交叉识别难题

第一章&#xff1a;Open-AutoGLM 外卖配送轨迹跟踪在现代外卖平台中&#xff0c;实时、精准的配送轨迹跟踪是提升用户体验与运营效率的核心能力。Open-AutoGLM 作为一种基于大语言模型与自动化图学习机制的混合架构&#xff0c;能够动态建模骑手移动路径、预测到达时间并识别异…

作者头像 李华
网站建设 2026/7/21 12:29:02

外卖履约率提升60%的秘密武器:Open-AutoGLM智能提醒系统全揭秘

第一章&#xff1a;外卖履约率提升60%的秘密武器&#xff1a;Open-AutoGLM智能提醒系统全揭秘在高竞争的外卖行业中&#xff0c;履约率直接决定平台用户留存与商家收益。传统调度系统依赖静态规则与人工干预&#xff0c;难以应对订单高峰、骑手调度延迟等动态问题。Open-AutoGL…

作者头像 李华
网站建设 2026/7/21 0:15:35

(Open-AutoGLM + 本地生活)技术融合白皮书:未来服务调度新范式

第一章&#xff1a;Open-AutoGLM 本地生活服务预约新范式的提出随着人工智能与自然语言处理技术的深度融合&#xff0c;传统本地生活服务预约系统正面临效率低、交互弱、自动化程度不足等瓶颈。Open-AutoGLM 的提出&#xff0c;标志着一种基于大语言模型驱动的智能预约新范式诞…

作者头像 李华
网站建设 2026/7/20 1:43:07

敏捷浪潮下的测试团队转型挑战

随着敏捷开发模式成为软件行业的主流&#xff0c;测试团队的角色与工作方式发生了深刻变革。传统的、阶段性的测试活动已难以适应快速迭代、持续交付的节奏。在此背景下&#xff0c;如何科学、系统地评估并提升测试团队自身的敏捷适应能力与专业成熟度&#xff0c;成为保障交付…

作者头像 李华