#include<stdio.h>
#define N 10000
int prime[N+5];
int mark[N+5]={0};
int isprime[N]={0};
void init()
{
int i,j;
int cnt=0;
for(i=2;i<=N;i++)
{
if(mark[i]==0)
{
prime[cnt++]=i;
}
for(j=0;j<cnt;j++)
{
if(i*prime[j]>N)
{
break;
}
mark[i*prime[j]]=1;
}
}
for(i=0;i<cnt;i++)
{
isprime[prime[i]]=1;
}
}
int main()
{
int i,m,n;
init();
while(scanf("%d%d",&m,&n)!=EOF)
{
for(i=m;i<=n;i++)
{
if(isprime[i]==1)
{
printf("%d ",i);
}
}
printf("\n");
}
}
线性筛求素数
最新推荐文章于 2023-11-27 18:54:31 发布