#include<iostream>
#include<cstdio>
#define LL long long
int n,m;
int prime[10000010],cnt;
bool sh[10000010];
void solve(int n){
for(int i = 2;i <= n;i ++){
if(!sh[i])prime[++cnt] = i;
for(int j = 1;j <= cnt && i*prime[j] <= n;j ++){
sh[i*prime[j]] = true;
if(i%prime[j] == 0)break;//每个数只能被它最小的质因子删去
}
}
}
int x;
int main(){
scanf("%d%d",&n,&m);
sh[1] = true;
solve(n);
for(int i = 1;i <= m;i ++){
scanf("%d",&x);
if(sh[x])printf("No\n");
else printf("Yes\n");
}
}
[模板][洛谷P3383]线性筛素数
最新推荐文章于 2025-04-12 16:02:09 发布
本文介绍了一种高效的质数筛选算法,并通过示例代码展示了如何利用该算法找出一定范围内的所有质数。此外,还提供了针对输入数字是否为质数的判断方法。

812

被折叠的 条评论
为什么被折叠?



