时间复杂度:O(n)
int v[N],prime[N];
void primers(int n){
memset(v,false,sizeof v);
m = 0;
for(int i = 2; i <= n; i ++ )
{
if(v[i] == 0)
{
v[i] = i;
prime[++m] = i;
}
for(int j = 1; j <= m ; j ++ )
{
if(primer[j] > v[i] && primer[j] * i > n ) break;
v[i*primer[j]] = primer[j];
}
}
for(int i = 1; i <= m; i ++ )
cout<<primer[i]<<endl;
}