51nod 1106 质数检测

时间:2023-01-31 10:44:13
#include <bits/stdc++.h>
using namespace std;
int n;
const int maxn = 1e5+; bool s[maxn]; void is_prime()
{
memset(s,true,sizeof(s));
s[] = s[] = ;
for(int i=; i*i <= maxn;i++){
if(s[i]){
for(int j=i*i; j <= maxn;j += i)
s[j] = ;
}
}
} int main ()
{
scanf("%d" ,&n);
is_prime();
int x;
for(int i=; i <= n;i++){
scanf("%d", &x);
if( x <= maxn){
if( s[x] )
printf("Yes\n");
else
printf("No\n");
}
else{
bool ok = ;
for(int i=;i*i <= maxn;i++){
if(s[i] && x%i==){
ok = ;
break;
}
}
if(ok)
printf("Yes\n");
else
printf("No\n");
}
}
return ;
}

暴力出奇迹