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

GESP认证C++编程真题解析 | 202509 五级

编程题

P14073 数字选取

【题目来源】

洛谷:P14073 [GESP202509 五级] 数字选取 - 洛谷

【题目描述】

给定正整数 \(n\),现在有 \(1,2,…,n\) 共计 \(n\) 个整数。你需要从这 \(n\) 个整数中选取一些整数,使得所选取的整数中任意两个不同的整数均互质(也就是说,这两个整数的最大公因数为 \(1\))。请你最大化所选取整数的数量。

例如,当 \(n=9\) 时,可以选择 \(1,5,7,8,9\) 共计 \(5\) 个整数。可以验证不存在数量更多的选取整数的方案。

【输入】

一行,一个正整数 \(n\),表示给定的正整数。

【输出】

一行,一个正整数,表示所选取整数的最大数量。

【输入样例】

6

【输出样例】

4

【算法标签】

《洛谷 P14073 数字选取》 #数论# #素数判断,质数,筛法# #筛法# #GESP# #2025#

【代码详解】

#include <bits/stdc++.h>
using namespace std;const int N = 100005;  // 定义最大范围int n;                  // 输入的数字n
int isprime[N];         // 素数标记数组,isprime[i]存储i的最小质因数
map<int, int> mp;       // 用于记录已经统计过的质因数int main()
{// 输入数字ncin >> n;// 埃拉托斯特尼筛法预处理最小质因数for (int i = 2; i < N; i++){// 如果i是素数,则标记其倍数if (isprime[i] == 0){for (int j = i + i; j < N; j += i){// 如果j还没有被标记过,则记录其最小质因数if (isprime[j] == 0){isprime[j] = i;}}}}// 统计1到n范围内的素数个数int cnt = 0;for (int i = 1; i <= n; i++){if (isprime[i] == 0){cnt++;}}// 统计1到n范围内合数的不同质因数个数for (int i = 1; i <= n; i++){// 如果是素数或者已经统计过该质因数,则跳过if (isprime[i] == 0 || mp[isprime[i]] == 1){continue;}// 标记该质因数已经统计过mp[isprime[i]] = 1;cnt++;}// 输出结果:素数个数 + 不同质因数个数cout << cnt << endl;return 0;
}

【运行结果】

6
4

P14074 有趣的数字和

【题目来源】

洛谷:P14074 [GESP202509 五级] 有趣的数字和 - 洛谷

【题目描述】

如果一个正整数的二进制表示包含奇数个 \(1\),那么小 A 就会认为这个正整数是有趣的。

例如,\(7\) 的二进制表示为 \((111)_2\),包含 \(1\) 的个数为 \(3\) 个,所以 \(7\) 是有趣的。但是 \(9=(1001)_2\) 包含 \(2\)\(1\),所以 \(9\) 不是有趣的。

给定正整数 \(l,r\),请你统计满足 \(l≤n≤r\) 的有趣的整数 \(n\) 之和。

【输入】

一行,两个正整数 \(l,r\),表示给定的正整数。

【输出】

一行,一个正整数,表示 \(l,r\) 之间有趣的整数之和。

【输入样例】

3 8

【输出样例】

19

【算法标签】

《洛谷 P14074 有趣的数字和》 #GESP# #2025#

【代码详解】

#include <bits/stdc++.h>
using namespace std;#define int long long  // 使用长整型防止溢出int l, r;              // 输入的数字区间[l, r]
int ans;               // 存储计算结果
int b;                 // 计算第b个区间
int v[9] = {0, 1, 3, 3, 7, 7, 7, 14, 22};  // 预计算的小数值结果(1-8的答案)/*** 计算数字x的二进制表示中1的个数(汉明重量)* @param x 要计算的数字* @return 二进制中1的个数*/
int check(int x)
{int cnt = 0;  // 计数器,记录1的个数while (x > 0){if (x & 1)  // 检查最低位是否为1cnt++;   // 如果是1,计数器加1x = x >> 1;  // 右移一位,相当于除以2}return cnt;
}/*** 计算从1到x的所有满足条件的数的和* @param x 上界* @return 计算结果*/
int f(int x)
{// 如果x小于等于8,直接返回预计算的结果if (x <= 8)return v[x];// 计算区间个数(默认向下取整)b = x / 4;// 计算从第1到第b个区间的总和ans = (b * b) * 4 - b;// 计算剩余部分的值(从b*4到x)for (int i = (b * 4); i <= x; i++){// 如果二进制1的个数为奇数,则累加if (check(i) % 2)ans += i;}return ans;
}signed main()
{// 输入区间范围cin >> l >> r;// 输出区间内满足条件的数的和(前缀和思想)cout << f(r) - f(l - 1);return 0;
}

【运行结果】

3 8
19
http://www.jsqmd.com/news/384804/

相关文章:

  • 这份榜单够用!8个AI论文写作软件测评:专科生毕业论文+开题报告高效工具推荐
  • 管道堵塞与清淤难题如何解决?2026年荆州管道疏通服务推荐与评价 - 十大品牌推荐
  • 实测对比后 9个降AIGC工具:继续教育降AI率全维度测评
  • 闲置苏宁卡别再压箱底!这样处理,轻松盘活不用愁 - 可可收
  • 2.15假期记录
  • 老年人氨糖求推荐 特元素氨糖软骨素成2026年高端氨糖品类合规选购新参照 - 资讯焦点
  • 2026汽车保养攻略:厂家推荐品牌详细评测,汽车保养/大车轮胎/客车轮胎/轿车轮胎/汽车维修,汽车保养厂家排行榜 - 品牌推荐师
  • 开题卡住了?AI论文软件 千笔AI VS 文途AI,专科生专属神器!
  • 2026年荆门管道疏通哪家强?市政与家庭场景全面评测排名与推荐 - 十大品牌推荐
  • 专科生必看!实力封神的降AI率平台 —— 千笔·降AIGC助手
  • 综述不会写?AI论文平台 千笔ai写作 VS 笔捷Ai,本科生专属神器!
  • 本科生必看!千笔·专业降AI率智能体,备受喜爱的降AIGC平台
  • Sigma-delta DAC simulink模型 128/256 oversampling...
  • 论文写不动?千笔·专业论文写作工具,最受喜爱的AI论文工具
  • 【信息科学与工程学】【产品体系】第十二篇 制造业生产加工06
  • GESP认证C++编程真题解析 | 202509 四级
  • 混合动力汽车P2架构cruise-simulink仿真模型,P2架构整车能量管理cruise仿真模型
  • 别让支付宝立减金白白过期!这样处理,省心又实用 - 可可收
  • 道路表面多类型缺陷的图像识别数据集分享(适用于目标检测任务)
  • 震旦大厦广告代理:2026年户外LED大屏广告投放的优选伙伴,广播电台广告,户外led大屏广告代理公司推荐 - 品牌推荐师
  • 杉德斯玛特卡如何回收更划算?专家教你避开回收陷阱! - 团团收购物卡回收
  • 从制造到服务:盘点工厂预制化管道领域的实力厂家,高压管件/三通管件/防腐管道/压力容器,工厂预制化管道品牌有哪些 - 品牌推荐师
  • 导师严选! 降AIGC软件 千笔·降AIGC助手 VS 云笔AI,本科生专属神器!
  • 2026车载香氛ODM厂家大揭秘,实力派香氛源头厂家排行,扩香器/写字楼香薰/香薰机/油性香氛精油,香氛源头厂家排行榜单 - 品牌推荐师
  • 分期乐购物额度安全回收指南,新手必看避坑技巧 - 可可收
  • 吐血推荐!10个一键生成论文工具测评:自考毕业论文+开题报告高效写作指南
  • 干货合集:8个AI论文网站测评!专科生毕业论文+科研写作必备工具推荐
  • 新手也能上手!降AIGC软件 千笔·专业降AI率智能体 VS PaperRed 专科生专属
  • 少走弯路:AI论文工具,千笔 VS 学术猹,本科生首选!
  • 2026年2月云南无人机考证机构推荐,证书含金量与培训品质权威指南 - 品牌鉴赏师