线性筛法求质数
Posted arbor-one
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了线性筛法求质数相关的知识,希望对你有一定的参考价值。
const int N=10010;
int prime[N];
bool v[N];
void get_primes(int n)
{
memset(v,0,sizeof(v));
m=0;
for(int i=2;i<n;i++)//循环遍历2~n的质数
{
if(!v[i]){v[i]=i,prime[m++]=i;}//如果没有访问过,就是质数
for(int j=0;iprime[j]<=n;j++)//把质数的倍数都变为访问了的
{
v[iprime[j]]=true;
if(i*prime[j]==0)break;//这个质数的倍数超过了n就退出
}
}
for(int i=1;i<=m;i++)
printf("%d %d",prime[i]);//输出
}
以上是关于线性筛法求质数的主要内容,如果未能解决你的问题,请参考以下文章