news 2026/7/1 23:24:02

GESP认证C++编程真题解析 | P14918 [GESP202512 五级] 相等序列

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
GESP认证C++编程真题解析 | P14918 [GESP202512 五级] 相等序列

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

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

适合人群:

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

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


【题目来源】

洛谷:[P14918 GESP202512 五级] 相等序列 - 洛谷

【题目描述】

小 A 有一个包含N NN个正整数的序列A = { A 1 , A 2 , … , A N } A=\{A_1,A_2,\ldots,A_N\}A={A1,A2,,AN}。小 A 每次可以花费1 11个金币执行以下任意一种操作:

  • 选择序列中一个正整数A i A_iAi1 ≤ i ≤ N 1\le i\le N1iN),将A i A_iAi变为A i × P A_i\times PAi×PP PP为任意质数;
  • 选择序列中一个正整数A i A_iAi1 ≤ i ≤ N 1\le i\le N1iN),将A i A_iAi变为A i P \frac{A_i}{P}PAiP PP为任意质数,要求A i A_iAiP PP的倍数。

小 A 想请你帮他计算出令序列中所有整数都相同,最少需要花费多少金币。

【输入】

第一行一个正整数N NN,含义如题面所示。

第二行包含N NN个正整数A 1 , A 2 , … , A N A_1,A_2,\ldots,A_NA1,A2,,AN,代表序列A AA

【输出】

输出一行,代表最少需要花费的金币数量。

【输入样例】

5 10 6 35 105 42

【输出样例】

8

【算法标签】

《洛谷 P14918 相等序列》 #贪心# #数论# #素数判断,质数,筛法# #GESP# #2025#

【代码详解】

#include<bits/stdc++.h>usingnamespacestd;constintN=100005;intn,a[N][20],p[10005],cur,isprime[100005],ans;// n: 数字个数, a: 存储质因数统计, p: 质数数组, cur: 质数个数, isprime: 判断质数并存储索引, ans: 答案intmain(){cin>>n;// 输入数字个数// 埃拉托色尼筛法预处理质数for(inti=2;i<=100000;i++){if(!isprime[i])// 如果i是质数{p[++cur]=i;// 将质数i存入数组pisprime[i]=cur;// 记录质数i在数组p中的索引for(intj=i+i;j<=100000;j+=i)// 标记i的所有倍数isprime[j]=1;// 标记为非质数}}// 处理输入的n个数字for(inti=1;i<=n;i++){intx;cin>>x;// 输入一个数字// 分解质因数for(intj=1;p[j]*p[j]<=x;j++)// 只需检查到sqrt(x){if(x%p[j]==0)// 如果p[j]是x的质因数{intcnt=0;// 记录当前质因数的指数while(x%p[j]==0)// 计算质因数p[j]的指数{cnt++;a[j][cnt]++;// 统计第j个质数的cnt次方在n个数字中出现的次数x/=p[j];// 除掉这个质因数}}}if(x)// 如果x还有剩余的质因数(x本身是质数且大于sqrt(原x))a[isprime[x]][1]++;// 统计这个质数的一次方}// 计算结果for(inti=1;i<=cur;i++)// 遍历所有质数for(intj=1;a[i][j];j++)// 遍历第i个质数的所有指数{if(a[i][j]>n/2)// 如果该质因子指数出现的次数超过一半ans+=n-a[i][j];// 添加需要改变的个数elseans+=a[i][j];// 添加该指数出现的次数}cout<<ans<<endl;// 输出结果return0;}

【运行结果】

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

【C# 12顶级语句深度解析】:掌握现代C#编程的终极利器

第一章&#xff1a;C# 12顶级语句概述C# 12 引入的顶级语句&#xff08;Top-Level Statements&#xff09;极大简化了应用程序的入口点定义&#xff0c;使开发者能够以更简洁的方式编写控制台或小型项目程序&#xff0c;无需手动创建类和 Main 方法。这一特性特别适用于学习、原…

作者头像 李华
网站建设 2026/6/22 3:21:15

解锁本科论文新境界:书匠策AI——你的学术隐形导航仪

在本科学习的尾声&#xff0c;面对毕业论文这座“大山”&#xff0c;许多同学常常感到力不从心。选题迷茫、逻辑混乱、表达不专业、格式调整繁琐……这些问题像一道道难以跨越的坎&#xff0c;让原本就紧张的学业生活更加雪上加霜。然而&#xff0c;在科技日新月异的今天&#…

作者头像 李华
网站建设 2026/7/1 16:27:33

本科毕业季不再“从零写起”:一位理工科学生的AI协作手记——那些论文写作中被忽略的隐形效率杠杆

又到一年毕业季。图书馆的灯亮得更早&#xff0c;咖啡杯在桌上堆成小山&#xff0c;凌晨三点的寝室键盘声此起彼伏。作为刚刚完成本科毕业论文的“过来人”&#xff0c;我深知那种面对空白文档的窒息感——不是没想法&#xff0c;而是不知道如何把零散的思路变成一篇结构严谨、…

作者头像 李华
网站建设 2026/7/1 12:15:44

为什么90%的.NET项目日志设计都失败了?真相令人震惊

第一章&#xff1a;为什么90%的.NET项目日志设计都失败了&#xff1f;真相令人震惊在现代软件开发中&#xff0c;日志是系统可观测性的基石。然而&#xff0c;绝大多数 .NET 项目的日志实现却存在严重缺陷&#xff0c;导致故障排查困难、性能下降甚至安全风险。问题的根源并非技…

作者头像 李华