bool visit[n];
void getprime(int n) //n是想要得到素数的范围
{
visit[0] = 1;
visit[1] = 1; //0和1都不是质数
for (long long i = 2; i < n; i++) {
if (!visit[i]) //若visit[i]是质数
for (long long k = i; i*k < n; k++) //i*k可能会越界
visit[i*k] = 1; //visit[i] 为0则是素数。
}
}
注意:这里判断的是下标是否为素数。
如果想要得到一个存有素数的数组,可以重新开一个,在if判断后加一个else即可。