模板线性筛求素数
Posted wky1366365447
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了模板线性筛求素数相关的知识,希望对你有一定的参考价值。
线性筛求素数
1 #include <iostream> 2 #include <cstring> 3 #include <algorithm> 4 #include <cstdio> 5 6 const int MAX_N = 10000000 + 10; 7 8 bool vis[MAX_N]; 9 int Prime[MAX_N >> 1]; 10 inline void GetPrime(int n) { 11 memset(vis, false, sizeof(vis)); 12 vis[1] = true; 13 14 int cnt = 0; 15 for (int i = 2; i <= n; i++) { 16 if (!vis[i]) Prime[++cnt] = i; 17 for (int j = 1; j <= cnt && i * Prime[j] <= n; j++) { 18 vis[i * Prime[j]] = true; 19 if (i * Prime[j] == 0) break; 20 } 21 } 22 } 23 24 int main() { 25 int n, m; scanf("%d%d", &n, &m); 26 27 GetPrime(n); 28 while (m--) { 29 int x; scanf("%d", &x); 30 if (!vis[x]) puts("Yes"); 31 else puts("No"); 32 } 33 34 return 0; 35 }
以上是关于模板线性筛求素数的主要内容,如果未能解决你的问题,请参考以下文章