线性筛法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
namespace sieve{
const int maxp = 1000000 + 5;
int vis[maxp], prime[maxp], tot;
void init(){
ms(vis, 0);
for (int i = 2; i < maxp; i++){
if (!vis[i]) prime[tot++] = i;
for (int j = 0; j < tot && prime[j] * i < maxp; j++){
vis[i * prime[j]] = 1;
if (i % prime[j] == 0) break;
}
}
}
}
  • 本文作者: XLor
  • 本文链接: https://xlor.cn/2018/9/sieve/
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!