题目链接:http://acm.sgu.ru/problem.php?contest=0&problem=113
数据太弱,直接暴力枚举的方法来判就行。
code:
#include <cstdio>
#include <cstdlib>
#include <iostream>
using namespace std;
const int maxn=100;
int a[maxn];
bool is_prime(int n)
{
for(int i=2;i*i<=n;i++){
if(n%i==0) return false;
}
return n+1;
}
bool jug(int x)
{
for(int i=2;i*i<=x;i++){
if(x%i==0){
if(is_prime(i)&&is_prime(x/i)) return true;
}
}
return false;
}
int main()
{
int nn;
while(scanf("%d",&nn)!=EOF){
for(int i=0;i<nn;i++) scanf("%d",&a[i]);
int flag=0;
for(int i=0;i<nn;i++){
if(jug(a[i])) printf("Yes\n");
else printf("No\n");
}
}
}