线性筛素数模板
来源:互联网 发布:cdn网络节点 编辑:程序博客网 时间:2024/06/06 04:40
tag用来记录第i个数是否是素数
p中存储素数,下标从0开始
ind是有多少个素数
数据对应的范围和素数的个数,在数据量大的时候大致呈10倍的关系,也就是tag数组的大小起码是p数组大小的10倍
int p[2000];bool tag[20000];int ind;void get_prime(){ int cnt=0; for(int i=2;i<2000;i++) { if(!tag[i]) p[cnt++]=i; for(int j=0;j<cnt&&p[j]*i<2000;j++) { tag[i*p[j]]=1; if(i%p[j]==0) break; } } ind=cnt;}
阅读全文