• Source
    1. #include <iostream>
    2. #include <math.h>
    3. using namespace std;
    4.  
    5. int ktnt (long long a)
    6. {
    7. if (a<2) return 0;
    8. for (long i=2; i<=sqrt(a); i++)
    9. {
    10. if (a%i==0) return 0;
    11. }
    12. return 1;
    13. }
    14.  
    15. int soGanNT (long long a)
    16. {
    17. if (a==1) return 0;
    18. long long x=sqrt(a);
    19. if ((x*x)==a && ktnt (x)==1) return 1;
    20. else return 0;
    21. }
    22.  
    23. int main ()
    24. {
    25. long n;
    26. cin>>n;
    27. long long x[100005];
    28. for (long i=1; i<=n; i++)
    29. {
    30. cin>>x[i];
    31. }
    32. for (long i=1; i<=n; i++)
    33. {
    34. if (soGanNT(x[i])==1) cout<<"YES"<<endl;
    35. else cout<<"NO"<<endl;
    36. }
    37. }