筛法
主流有两种筛法
一种是nloglogn的筛法
一种是线性筛
代码:
1 #include<cstdio>
2 #include<cstring>
3 #define MAXN 100005
4 #define MAXL 1299710
5 int prime[MAXN];
6 int check[MAXL];
7
8 int tot = 0;
9 memset(check, 0, sizeof(check));
10 for (int i = 2; i < MAXL; ++i)
11 {
12 if (!check[i])
13 {
14 prime[tot++] = i;
15 }
16 for (int j = 0; j < tot; ++j)
17 {
18 if (i * prime[j] > MAXL)
19 {
20 break;
21 }
22 check[i*prime[j]] = 1;
23 if (i % prime[j] == 0)
24 {
25 break;
26 }
27 }
28 }