解析:
有且只有三个因数,当且仅当,完全平方数并且sqrt(n)为素数
cpp
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=1e5+5;
ll t,n;
bool prime(ll x){
if(x<2) return 0;
for(int i=2;i<=x/i;i++) if(x%i==0) return 0;
return 1;
}
bool f(ll x){
if(x==1) return 0;
ll s=sqrt(x);
return s*s==x&&prime(s);
}
int main(){
scanf("%lld",&t);
while(t--){
scanf("%lld",&n);
if(f(n)) puts("YES");
else puts("NO");
}
return 0;
}