https://www.luogu.com.cn/problem/P3383

//线性筛法
/*
P3383 【模板】线性筛素数
https://www.luogu.com.cn/problem/P3383数论 - 欧拉筛法(线性筛)的解释
https://blog.csdn.net/Losk_0/article/details/87884390素数筛法详解(欧拉筛&埃氏筛)
https://blog.csdn.net/FeilingGong/article/details/83660779算法笔记(四)——欧拉筛法求素数
https://blog.csdn.net/weixin_42172676/article/details/81978475快速线性筛法的原理和值得借鉴的方法【解析算法】
https://blog.csdn.net/nuanxin_520/article/details/41207145快速线性筛法的特点就是不会重复筛除一个合数。它的原理是前提是:一个合数i=p1*p2*...*pn, pi都是素数(2<=i<=n),pi<=pj( i<=j )p1是最小的系数。这样每一个合数就有一个确定的表示方法,不会重复。(像12=2*2*3)No.1:我们现在规定一个合数由两个数得到。NO.2:那么合数有两种。1.素数*素数=合数
2.一个最小的素数*合数=合数筛除:如果遇到i为素数,那么一个大的素数 i 乘以不大于 i 的素数,这样筛除的数跟之前的是不会重复的如果遇到i为合数,我们只认为合数由一个最小的素数*合数得到,也不会重复(就像12=2*6而不是12=3*4)一般的线性筛法
https://www.cnblogs.com/KyleDeng/p/9244850.html*/
#include<bits/stdc++.h>
using namespace std;
int pr[8000010],c[100000010],n,m,s=0,x;
int main()
{memset(c,0,sizeof(c));scanf("%d%d",&n,&m);for(int i=2;i<=n;++i){if(c[i]==0){pr[++s]=i;}for(int j=1;j<=s && i*pr[j]<=n;++j){c[i*pr[j]]=1;if(i%pr[j]==0){break;}}}for(int i=1;i<=m;++i){scanf("%d",&x);printf("%d\n",pr[x]);}return 0;
}

P3383 【模板】线性筛素数相关推荐

  1. 线性筛法 欧拉筛c语言,[洛谷P3383][模板]线性筛素数-欧拉筛法

    Hibernate Hql 总结 1.from子句 Hibernate中最简单的查询语句的形式如下: from eg.Cat该子句简单的返回eg.Cat类的所有实例. 通常我们不需要使用类的全限定名, ...

  2. 普及组模板——线性筛素数

    题目:[模板]线性筛素数(洛谷_3383) #include<iostream> #include<cstdio> #include<algorithm> #inc ...

  3. [SDOI2008]沙拉公主的困惑 线性筛 素数+欧拉

    本文为博主原创文章,欢迎转载,请注明出处 www.cnblogs.com/yangyaojia [SDOI2008]沙拉公主的困惑 线性筛 素数+欧拉 题目大意 给定n,m,求在1到n!内与m!互质的 ...

  4. 牛客3007E-立方数-欧拉线性筛+素数分解+二分

    链接:https://ac.nowcoder.com/acm/contest/3007/E 来源:牛客网 题目描述: 对于给定的正整数 N,求最大的正整数 A,使得存在正整数 B,满足 A3B=N 输 ...

  5. 线性筛素数(欧拉筛)

    欧拉筛是O(n)复杂度的筛素数算法,1秒内埃筛能处理1e6的数据,而1e7的数据就必须用欧拉筛了. 埃筛的基本思想是:素数的倍数一定是合数. 欧拉筛基本思想是:任何数与素数的乘积一定是合数 算法概述: ...

  6. 洛谷 P3383 【模板】线性筛素数

    题目描述 如题,给定一个范围N,你需要处理M个某数字是否为质数的询问(每个数字均在范围1-N内) 输入输出格式 输入格式: 第一行包含两个正整数N.M,分别表示查询的范围和查询的个数. 接下来M行每行 ...

  7. 【Luogu3383】【模板】线性筛素数

    problem 给定一个范围N 回答M个某数字是否为质数的询问(M solution codes #include<iostream> #define maxn 10000010 usin ...

  8. 线性筛素数的实现与证明

    情境 大家应该都知道用nlogn的时间复杂度筛出[1,n]的所有素数,但是当n的范围较大时,这个方法就不奏效了 今天我们谈谈素数的线性筛法,也就是用On的时间复杂度筛出[1,n]的所有素数 解析 nl ...

  9. 【线性筛】线性筛素数

    小目录 链接 题目描述 思路 代码 链接 YbtOJ6-2-1 题目描述 给定一个范围,有 q个询问,每次输出第 k 小的素数. 思路 欧拉筛 代码 #include<iostream> ...

最新文章

  1. 查看springboot中tomcat版本
  2. Python 之 新手安装详解 、安装目录说明 及 修改pip默认包安装位置
  3. 【MySQL】UPDATE LEFT JOIN
  4. 一行命令让ElasticSearch支持中文分词搜索
  5. How to find documentation of given API
  6. docker rabbitmq php扩展,Docker开启RabbitMQ延时消息队列
  7. VC6获取硬盘序列号、型号、修订版本号
  8. Unity3D 渲染统计窗口
  9. ffmpeng编解码过程
  10. 华三 h3c DHCP
  11. 安卓学习-界面-ui-Spinner
  12. Kubernetes系统架构演进过程与背后驱动的原因
  13. ajax submittype,AjaxSubmit()提交file文件
  14. 汽车主要电子控制系统模块
  15. taptap评论爬虫
  16. 华为手机一直android,华为手机内存不够用?这5个文件夹常清理,可以腾出近10个G内存...
  17. python爬取拉勾网_python爬取拉勾网职位数据
  18. android 蓝牙发送失败怎么办,【报Bug】蓝牙模块CC2640R2F 安卓发送数据包第二次发送不成功{code:10007,message:property not support}...
  19. kubectl apply_了解Kubectl Apply命令
  20. Nginx:12---反向代理之(代理模块,代理单个上游服务器)

热门文章

  1. 陈一舟:我们花了大力气找合适团队接力人人网 任务完成
  2. 三:大型网站的核心架构要素
  3. 【Android游戏开发十七】让玩家自定义手势玩转Android游戏!—Android Gesture之【输入法手势技术】...
  4. 装箱(Boxing)和拆箱(Unboxing)
  5. CIO必看:7个常见但一定要避免的数据治理错误
  6. 终于等到放学了的飞鸽传书
  7. 飞鸽传书:不知不觉,时间又没了!
  8. 免费语音软件可以导入你在飞鸽传书2008
  9. 用CComPtr吧,COM接口指针很危险
  10. XEIM_跨平台的网络通信产品