Eratothenes筛法
注:时间复杂度为O(N*logN)。
#define N 1000
int vis[N];
vector<int>primes;
void init()//一般用于打表
{
int m = sqrt(N + 0.5);
for (int i = 2; i <= m;i++)
if (!vis[i])
for (int j = i*i; j <= N; j += i)
vis[j] = 1;
for (int i = 2; i <= N;i++)
if (!vis[i])
primes.push_back(i);
}