P3383 【模板】线性筛素数
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 【模板】线性筛素数相关推荐
- 线性筛法 欧拉筛c语言,[洛谷P3383][模板]线性筛素数-欧拉筛法
Hibernate Hql 总结 1.from子句 Hibernate中最简单的查询语句的形式如下: from eg.Cat该子句简单的返回eg.Cat类的所有实例. 通常我们不需要使用类的全限定名, ...
- 普及组模板——线性筛素数
题目:[模板]线性筛素数(洛谷_3383) #include<iostream> #include<cstdio> #include<algorithm> #inc ...
- [SDOI2008]沙拉公主的困惑 线性筛 素数+欧拉
本文为博主原创文章,欢迎转载,请注明出处 www.cnblogs.com/yangyaojia [SDOI2008]沙拉公主的困惑 线性筛 素数+欧拉 题目大意 给定n,m,求在1到n!内与m!互质的 ...
- 牛客3007E-立方数-欧拉线性筛+素数分解+二分
链接:https://ac.nowcoder.com/acm/contest/3007/E 来源:牛客网 题目描述: 对于给定的正整数 N,求最大的正整数 A,使得存在正整数 B,满足 A3B=N 输 ...
- 线性筛素数(欧拉筛)
欧拉筛是O(n)复杂度的筛素数算法,1秒内埃筛能处理1e6的数据,而1e7的数据就必须用欧拉筛了. 埃筛的基本思想是:素数的倍数一定是合数. 欧拉筛基本思想是:任何数与素数的乘积一定是合数 算法概述: ...
- 洛谷 P3383 【模板】线性筛素数
题目描述 如题,给定一个范围N,你需要处理M个某数字是否为质数的询问(每个数字均在范围1-N内) 输入输出格式 输入格式: 第一行包含两个正整数N.M,分别表示查询的范围和查询的个数. 接下来M行每行 ...
- 【Luogu3383】【模板】线性筛素数
problem 给定一个范围N 回答M个某数字是否为质数的询问(M solution codes #include<iostream> #define maxn 10000010 usin ...
- 线性筛素数的实现与证明
情境 大家应该都知道用nlogn的时间复杂度筛出[1,n]的所有素数,但是当n的范围较大时,这个方法就不奏效了 今天我们谈谈素数的线性筛法,也就是用On的时间复杂度筛出[1,n]的所有素数 解析 nl ...
- 【线性筛】线性筛素数
小目录 链接 题目描述 思路 代码 链接 YbtOJ6-2-1 题目描述 给定一个范围,有 q个询问,每次输出第 k 小的素数. 思路 欧拉筛 代码 #include<iostream> ...
最新文章
- 查看springboot中tomcat版本
- Python 之 新手安装详解 、安装目录说明 及 修改pip默认包安装位置
- 【MySQL】UPDATE LEFT JOIN
- 一行命令让ElasticSearch支持中文分词搜索
- How to find documentation of given API
- docker rabbitmq php扩展,Docker开启RabbitMQ延时消息队列
- VC6获取硬盘序列号、型号、修订版本号
- Unity3D 渲染统计窗口
- ffmpeng编解码过程
- 华三 h3c DHCP
- 安卓学习-界面-ui-Spinner
- Kubernetes系统架构演进过程与背后驱动的原因
- ajax submittype,AjaxSubmit()提交file文件
- 汽车主要电子控制系统模块
- taptap评论爬虫
- 华为手机一直android,华为手机内存不够用?这5个文件夹常清理,可以腾出近10个G内存...
- python爬取拉勾网_python爬取拉勾网职位数据
- android 蓝牙发送失败怎么办,【报Bug】蓝牙模块CC2640R2F 安卓发送数据包第二次发送不成功{code:10007,message:property not support}...
- kubectl apply_了解Kubectl Apply命令
- Nginx:12---反向代理之(代理模块,代理单个上游服务器)