L1-028. 判断素数

来源:互联网 发布:mysql服务无法启动1067 编辑:程序博客网 时间:2024/06/05 11:14
#include<iostream>#include<set>#include<cstring>#include<functional>#include<sstream> #include<vector>#include<algorithm> using namespace std;//素数筛法,此外判断素数2 3 5可以判断30以内的所有非素数(1除外i%sushu==0&&i/sushu!=1则该数是素数const int maxn=1e5+10;int prim[maxn];void pre(){    memset(prim,0,sizeof(prim));    for(int i=2;i<maxn;i++){        if(!prim[i])prim[++prim[0]]=i;        for(int j=1;j<=prim[0]&&prim[j]<=maxn/i;j++){            prim[prim[j]*i]=1;            if(i%prim[j]==0)break;         }    }}int main(){    pre();    int N,a;    cin>>N;    for(int i=0;i<N;i++){        cin>>a;        int jud=0;        for(int i=1;i<=prim[0];i++){            if(a%prim[i]==0&&a/prim[i]!=1){                jud=1;                break;            }        }        if(jud){            cout<<"No"<<endl;        }        else{            cout<<"Yes"<<endl;        }    }    return 0;} 
0 0