时间复杂度0(n);
int m,n;
int v[MAX_N],prime[MAX_N];
void primes(
int n)
{
memset(prime,0,
sizeof(prime));
m=
0;
for(
int i=
2;i<=n;++
i)
{
if(prime[i]==
0)
{
prime[++m]=
i;
}
for(
int j=
1;j<=m && prime[j]<=n/i;++
j)
{
prime[prime[j]*i]=
1;
if(i%prime[j]==
0)
break;
}
}
for(
int i=
1;i<=m;++
i)
{
cout<<prime[i]<<
endl;
}
}
转载于:https://www.cnblogs.com/jrfr/p/11231934.html
相关资源:JAVA上百实例源码以及开源项目