筛法

主流有两种筛法

一种是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 }

 

posted @ 2017-12-30 20:58  尹吴潇  阅读(189)  评论(0编辑  收藏  举报