#include <bits/stdc++.h>
using namespace std;
const int N=1e7+10;
bool isprime[N]={0};
void aiPrime (int n)
{
memset(isprime,true,sizeof isprime);
isprime[1]=false;
for(int i=2;i<=n;i++)
{
if(isprime[i])
{
for(int j=2;j*i<=n;j++){
isprime[i*j]=false;
}
}
}
}
int main ()
{
int n,m,x;
cin >> n >> m;
aiPrime(n);
for(int i=1;i<=m;i++){
cin >> x;
if(isprime[x]) cout << "Yes" << "\n";
else cout << "No" << "\n";
}
return 0;
}
质数筛(埃氏筛)
最新推荐文章于 2024-11-07 23:24:07 发布
该程序使用了埃拉托斯特尼筛法(Sieve of Eratosthenes)来找出给定范围内的所有素数,并判断输入的整数是否为素数。程序首先初始化一个布尔数组,标记所有数为素数,然后从2开始,将它的倍数标记为合数。最后,程序读取多个整数并输出它们是否为素数。
摘要由CSDN通过智能技术生成