ACM_素数筛选
/* *素数筛法,判断小于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; } } }