#include<bits/stdc++.h>
using namespace std;
#define ll long long
const ll N=1e6+10;
ll n,x;
bool v[N];
void ola(int n){
v[1]=1;
for(int i=2;i<=n;i++){
if(!v[i]){
for(int j=2*i;j<=n;j+=i){
v[j]=1;
}
}
}
}
int main() {
ola(N-1);
scanf("%lld",&n);
while(n--){
scanf("%lld",&x);
ll m=sqrt(x);
if(m*m==x&&!v[m]) printf("YES\n");
else printf("NO\n");
}
return 0;
}
双质数
最新推荐文章于 2024-11-05 17:16:24 发布