/*
*素数筛法,判断小于MAXN的数是不是素数。
*notprime是一张表,为false表示是素数,true表示不是素数
*/
const int MAXN = 1000010;
bool notprime[MAXN]; //值为false表示素数,值为true表示非素数
void init() {
memset(notprime, false, sizeof(notprime));
notprime[0] = notprime[1] = true;
for (int i = 2; i<MAXN; i++) {
if (!notprime[i]) {
if (i *i >MAX)
continue;
for (int j = j*i; j<MAXN; j+= i)
notprime[j] = true;
}
}
}
ACM_素数筛选
最新推荐文章于 2019-11-16 22:47:45 发布