news 2026/6/10 15:32:22

素数(埃氏筛法)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
素数(埃氏筛法)
题目描述
提示:如果你使用 cin 来读入,建议使用 std::ios::sync_with_stdio(0) 来加速。
如题,给定一个范围 ,有 个询问,每次输出第 小的素数。
输入格式
第一行包含两个正整数 ,分别表示查询的范围和查询的个数。
接下来 行每行一个正整数 ,表示查询第 小的素数。
输出格式
输出 行,每行一个正整数表示答案。
样例
【样例输入】
100 5
1
2
3
4
5
【样例输出】
2
3
5
7
11

一些想法

这道题要用埃氏筛法做。
那就先定义两个动态数组,一个 bool 用于标记一个数是不是质数(一开始假装全部都是),另一个 int 类型用于储存素数。然后特殊标记 1 和 0 不是素数。
然后循环,从 2 到 n,找小于等于 n 的所有质数。如果 bool 数组标记这个数是质数,将这个数放入 int 储存数组。然后循环,将这个数小于等于 n 的所有倍数都标记为 false(不是质数),因为他是合数。(埃氏筛法具体看上一篇有关埃氏筛法的文章)
然后再循环外(已经找完所有质数了)。再定义一个动态数组,用于储存查询第几大的质数。然后输入查询。再来一个循环,处理查询并输出答案。定义一个数等于当前查询得大小 k,输出第 k-1 个质数。(记得换行)
解析易错点(一开始没注意错了):循环查询大小对应的数时要从 0 开始,因为 vector 的索引是从 0 开始的,是从 0~m-1 的。
输出 k-1 的原因,也是因为 vector 的索引是从 0 开始的,例如:
  • a[0]是第 ‌1‌ 小的素数(最小素数 2)。
  • a[1]是第 ‌2‌ 小的素数(3)。

注:还有,数组 a 不要像 bool 一样初始大小,否则答案会错误。因为当定义大小时会默认全部为 0,后续插入时就会插入到你定的大小的后面,而不是从第一个开始插入。所以,不要预先分配空间‌,而是直接定义vector<int> a;,然后调用push_back(i) 将质数 i 插入数组就行了。

#include<bits/stdc++.h> using namespace std; int main(){ ios::sync_with_stdio(0); int n,m; cin>>n>>m; vector<bool> b(n+1,true); vector<int> a; b[0]=b[1]=false; for(int i=2;i<=n;i++){ if(b[i]==true){ a.push_back(i); for(int j=2*i;j<=n;j+=i){ b[j]=false; } } } vector<int> s(m); for(int i=0;i<m;i++){ cin>>s[i]; } for(int i=0;i<m;i++){ int k=s[i]; cout<<a[k-1]<<endl; } return 0; }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 12:38:13

高分辨率挑战:Live Avatar 704*384生成实录

高分辨率挑战&#xff1a;Live Avatar 704*384生成实录 1. 这不是一次“开箱即用”的体验&#xff0c;而是一场显存边界的硬核实测 你可能已经看过那些惊艳的数字人视频——眼神灵动、口型精准、动作自然&#xff0c;仿佛真人站在屏幕前。但当你点开 Live Avatar 的 GitHub 页…

作者头像 李华
网站建设 2026/6/9 17:53:14

Flowise效果展示:多文档PDF解析+向量检索+LLM摘要生成全流程

Flowise效果展示&#xff1a;多文档PDF解析向量检索LLM摘要生成全流程 1. 为什么这个流程值得一看&#xff1f; 你有没有遇到过这样的情况&#xff1a;手头堆着十几份技术白皮书、产品手册和会议纪要PDF&#xff0c;想快速理清核心观点&#xff0c;却得一页页翻、一条条摘、反…

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

辅助计算带号功能:2步搞定未知坐标数据导入

在导入 SHP 或 CAD 格式文件时&#xff0c;若系统未自动识别坐标系&#xff0c;需用户手动选择。 辅助计算带号功能可在未知坐标系代号、但知晓地理位置的情况下&#xff0c;通过坐标反算快速确定对应投影参数。 操作流程 1. 启动辅助计算 点击【坐标系选择】 选择【辅助计…

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

Clawdbot多场景落地:Qwen3:32B赋能自动化测试、数据标注与知识库问答

Clawdbot多场景落地&#xff1a;Qwen3:32B赋能自动化测试、数据标注与知识库问答 1. 为什么需要一个AI代理网关平台 你有没有遇到过这样的情况&#xff1a;团队里同时在跑好几个AI项目&#xff0c;有的用Qwen&#xff0c;有的调Llama&#xff0c;还有的在试通义千问新版本——…

作者头像 李华
网站建设 2026/6/10 9:22:24

Z-Image Turbo步数与CFG黄金组合:4步轮廓+8步细节的精准控制教程

Z-Image Turbo步数与CFG黄金组合&#xff1a;4步轮廓8步细节的精准控制教程 1. 本地极速画板&#xff1a;Z-Image Turbo到底快在哪&#xff1f; 你有没有试过等一张图生成要一分多钟&#xff1f;放大看边缘还是糊的&#xff0c;调参数像在拆炸弹——改一个值&#xff0c;画面…

作者头像 李华