1-1000之内的素数,复杂度o(n)
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<string>
#include<algorithm>
using namespace std;
int pre[1000010];
int isprime[1000010];
int main()
{
int top = 0;
memset(pre,0,sizeof(pre));
memset(isprime,0,sizeof(isprime));
for(int i = 2; i <= 1000000; i++)
{
if(!isprime[i])
{
pre[++top] = i;
}
for(int j = 1; j <= pre[top] && i * pre[j] <= 1000000; j++)
{
isprime[i * pre[j]] = 1;
if(i % pre[j] == 0)
{
break;
}
}
}
for(int i = 1; i <= 1000; i++)
{
cout << pre[i] << endl;
}
return 0;
}