首页 > 技术文章 > P3383 【模板】线性筛素数

akioi 2020-01-17 19:18 原文

//P3383 【模板】线性筛素数
#include<bits/stdc++.h>
using namespace std;
int is_prime[10000005];
void Find_prime(int n)
{
    memset(is_prime,1,sizeof(is_prime));
    is_prime[1]=0;
    for(int i=2;i*i<=n;i++)
        if(is_prime[i])
            for(int j=i*i;j<=n;j+=i)
                is_prime[j]=0;
}
int main()
{
    int n,m;
    scanf("%d%d",&n,&m);
    Find_prime(n+1);
    for(int i=1;i<=m;i++){
        int Ask;scanf("%d",&Ask);
        printf((is_prime[Ask])?"Yes\n":"No\n");
    }
    
    return 0;
}

推荐阅读