1 solutions
-
0
C :
#include<stdio.h> int main() { int n; while(scanf("%d",&n)!=EOF) { while(n--) { long long k,i,j=0; scanf("%lld",&k); for(i=2;i*i<=k;i++) { if(i*i==k) { printf("YES\n");j=1;break; } if(k%i==0) { printf("NO\n");j=1;break; } } if(j==0) printf("NO\n"); } }return 0; }C++ :
#include<iostream> #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> using namespace std; bool check(int n) { int i; if(n==1) return false ; if(n==2) return true; for(i=2;i*i<=n;i++) { if(n%i==0) return false; } return true; } int main() { int n; long long x; int i; long long a; cin>>n; while(n--) { cin>>x; a=sqrt(x); if(a*a==x&&check(a)) cout<<"YES"<<endl; else cout<<"NO"<<endl; } return 0; }
- 1
Information
- ID
- 16826
- Time
- 1000ms
- Memory
- 128MiB
- Difficulty
- (None)
- Tags
- # Submissions
- 0
- Accepted
- 0
- Uploaded By