利用数组下标
#include <iostream>
#include <cmath>
#include <cstring>
using namespace std;
const int maxn=1e7;
bool a[maxn];
void prime()
{
memset(a,1,sizeof(a));
for(long long i=2;i<=sqrt(maxn);i++)
{
if(a[i]==1)
{
for(long long j=i*i;j<=maxn;j=j+i)
{
a[j]=0;
}
}
}
}
int main()
{prime();
for(int i=2;i<10000;i++)
{
if(a[i]==1)
cout<<i<<" ";
}
return 0;
}