雕刻时光

just do it……nothing impossible
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

一个数是否由两个质数组成——SGU113 Nearly prime numbers

Posted on 2011-04-08 18:27  huhuuu  阅读(467)  评论(0编辑  收藏  举报
View Code
#include<stdio.h>
#include
<math.h>

bool prim(int z)
{
int i;
int sz=sqrt(z*1.0);
for(i=2;i<=sz;i++)
{
if(z%i==0)
{
return 0;
}
}
return 1;
}

bool ji(int a)
{
int sa=sqrt(a*1.0);
int i;
for(i=2;i<=sa;i++)
{
if(prim(i)==1)
{
if(a%i==0)
{
if(prim(a/i)==1)
return 1;
}
}
}
return 0;
}


int main()
{
int t;
scanf(
"%d",&t);
while(t--)
{
int n;
scanf(
"%d",&n);
if(ji(n)==1)
printf(
"Yes\n");
else
printf(
"No\n");
}
}