质数筛

#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cmath>
#define MAX 20010450
using namespace std;
bool is[MAX];
int n,m;
int nl;
int main(){
scanf("%d%d",&n,&m);
nl=sqrt(n);
is[1]=true;
for(int i=2;i<=nl;i++){
if(!is[i])
for(int j=i*i;j<=n;j+=i)
is[j]=true;
}
for(int i=1;i<=m;i++){
int x;
scanf("%d",&x);
if(!is[x])
printf("Yes ");
else
printf("No ");
}



return 0;
}

 

原文地址:https://www.cnblogs.com/zyfltyyz/p/11719289.html