线性筛素数
代码
void ss()
{
vis[0]=vis[1]=false;//标记该数字是否为素数
for(int i=2;i<=n;i++)
{
if(!vis[i])prime[cnt++]=i;//存储素数是哪些
for(int j=0;j<cnt&&i*prime[j]<=n;j++)
{
vis[i*prime[j]]=false;
if(i%prime[j]==0)break;
}
}
}
int main()
{
scanf("%d %d",&n,&m);
ss();
int a;
for(int i=1;i<=m;i++)
{
scanf("%d",&a);
if(vis[a]==1)printf("No\n");
else printf("Yes\n");
}
return 0;
}