您的位置:首页 > 其它

L1-028. 判断素数

2017-03-24 21:39 246 查看
#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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: