关键词:
题目:【模板】线性筛素数(洛谷_3383)
#include<iostream> #include<cstdio> #include<algorithm> #include<cstring> #include<cmath> using namespace std; inline int read(){ int t=1,num=0;char c=getchar(); while(c>'9'||c<'0'){if(c=='-')t=-1;c=getchar();} while(c>='0'&&c<='9'){num=num*10+c-'0';c=getchar();} return num*t; } int n,m; bool t[10000010]; void ss(){ t[1]=1;int q=sqrt(n+0.5); for(int i=2;i<=q;i++)if(!t[i]) for(int j=i*i;j<=n;j+=i)t[j]=1; } int main() { n=read();m=read();ss(); for(int i=1;i<=m;i++){ int x=read(); if(t[x])puts("No"); else puts("Yes"); } return 0; }
本文由Yzyet编写,网址为www.cnblogs.com/Yzyet。非Yzyet同意,禁止转载,侵权者必究。
线性筛素数模板
传送门:线性筛素数 Prime:1#include<cstdio>23constintMAXN=10000100;4intPrime[MAXN],n,m,Size;5boolVis[MAXN]={1,1};67intmain()8{9scanf("%d%d",&n,&m);10for(inti=2;i<n;i++)11{12if(!Vis[i])13Pr 查看详情
p3383模板线性筛素数(代码片段)
P3383【模板】线性筛素数欧拉筛O(n)#include<iostream>#include<cstdio>usingnamespacestd;intn,m,cnt,prime[10000002],v[10000002];//prime:素数表v:存某数的最小质因数intmain()scanf("%d%d",&n,&m);for(inti=2;i< 查看详情
模板线性筛素数
#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>usingnamespacestd;intn,m,vis[10000010],prime[5000010],tot;voidinit(){for(inti=2;i<=n;i++){if(!vis[i])pr 查看详情
模板线性筛求素数(代码片段)
线性筛求素数1#include<iostream>2#include<cstring>3#include<algorithm>4#include<cstdio>56constintMAX_N=10000000+10;78boolvis[MAX_N];9intPrime[MAX_N>>1];10inlinevoidGetPrime(intn 查看详情
线性筛洛谷p3383线性筛模板
思路:如果我们要筛出[1,n]内的所有素数,使用[1,√n]内的素数去筛就可以了设bool型数组a,a[i]表示i是否被某个素数筛过从2开始枚举每个数i:若a[i]=false,表示i没有更小的素因子,从而知道i是素数。枚举i的所有倍数j,令a[j]=1这... 查看详情
数学基础素数线性筛法--欧拉筛法模板普通筛法的优化
质数(素数):指大于1的所有自然数中,除了1和自身,不能被其它自然数整除的数合数:比1大,但不是素数的数称为合数,合数除了被1和自身整除,还能被其它数整除质因数(素因数或质因子):能整除给定正整数的质数,... 查看详情
模板线性筛素数(代码片段)
memset(check,false,sizeofcheck);inttot=0;for(inti=2;i<=N;++i)if(!check[i])prime[tot++]=i;for(intj=0;j<tot;++j)if(i*prime[j]>N)break;check[i*prime[j]]=true;if(i%prime[j]==0)break; 查看详情
luogu3383模板线性筛素数
如果prime[i]是k的因子,那么【k*(在prime[i]以后的质数)】等于【prime[i]*(k/prime[i])*(这个质数)】,一定被筛过了,所以这里可以break。#include<iostream>#include<cstring>#include<cstdio>usingnamespacestd;boolisp[10000005];intn, 查看详情
[模板]线性筛素数(欧拉筛法)(代码片段)
用途$O(n)$处理出n以内所有素数原理使用合数=最大因数(除1和本身外)*最小质因数的原理来筛,每个数只会被筛一次对于每个数i,令它是某数的最大因数,然后从小到大地找<=i的素数j,则i*j是合数直到找到某个j使得$i\%j==0$,因... 查看详情
洛谷p3383模板线性筛素数
P3383【模板】线性筛素数题目描述如题,给定一个范围N,你需要处理M个某数字是否为质数的询问(每个数字均在范围1-N内)输入输出格式输入格式: 第一行包含两个正整数N、M,分别表示查询的范围和查询的个数。接下来M... 查看详情
洛谷p3383模板线性筛素数
P3383【模板】线性筛素数题目描述如题,给定一个范围N,你需要处理M个某数字是否为质数的询问(每个数字均在范围1-N内)输入输出格式输入格式: 第一行包含两个正整数N、M,分别表示查询的范围和查询的个数。接下来M... 查看详情
luogu_3383模板线性筛素数
1#include<bits/stdc++.h>2usingnamespacestd;3intn,m,cnt,prime[10000010],noprime[10000010];45intmain(){6scanf("%d%d",&n,&m);7prime[1]=2;8noprime[1]=1;9for(inti=2;i<=n;i++){10if(!noprime 查看详情
luogu3383模板线性筛素数(代码片段)
我太菜了%韩神1#include<iostream>2#include<cstdio>3#include<cmath>4#include<cstdlib>5#include<cstring>6#include<algorithm>7#include<vector>8#include<queue>9#de 查看详情
浅谈线性素数筛(代码片段)
...小的质因数筛掉它,所以时间复杂度保证是线性的。 模板:https://www.luogu.org/problemnew/show/P3383代码:1#include<iostream> 查看详情
p3912线性筛素数的模板(代码片段)
这绿题贼水......原理我不讲了,随便拿张草稿纸推一下就明白了。1#include<cstdio>2usingnamespacestd;3constlonglongintN=100000020;4intsu[N],ans,top;5boolvis[N];6voidshai(intb)78for(inti=2;i<=b;i++)910if(!vis[i])1112su[to 查看详情
p3383模板线性筛素数
题目描述如题,给定一个范围N,你需要处理M个某数字是否为质数的询问(每个数字均在范围1-N内)输入输出格式输入格式:第一行包含两个正整数N、M,分别表示查询的范围和查询的个数。接下来M行每行包含一个不小于1且不大... 查看详情
luogu3383模板线性筛素数
题目描述如题,给定一个范围N,你需要处理M个某数字是否为质数的询问(每个数字均在范围1-N内)输入输出格式输入格式:第一行包含两个正整数N、M,分别表示查询的范围和查询的个数。接下来M行每行包含一个不小于1且不大... 查看详情
p3383模板线性筛素数
题目描述如题,给定一个范围N,你需要处理M个某数字是否为质数的询问(每个数字均在范围1-N内)输入输出格式输入格式: 第一行包含两个正整数N、M,分别表示查询的范围和查询的个数。接下来M行每行包含一个不小于1且... 查看详情