【模板】埃式筛法

#include
#include
#define ll long long
#define R(i,a,b) for(int i=a;i<=b;i++)
using namespace std;

int n,m,x;
int vis[10000001];
void essf(){
	vis[1]=1;
	R(i,2,n){
		if(vis[i])continue;
		for(int j=2;j*i<=n;j++)vis[j*i]=1;
	}
}
int main(){
	scanf("%d%d",&n,&m);
	essf();
	R(i,1,m){
		scanf("%d",&x);
		if(!vis[x])printf("Yes\n");
		else printf("No\n");
	}
	return 0;
}

你可能感兴趣的:(埃拉托色尼筛法)