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

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");
}
}
原文地址:https://www.cnblogs.com/huhuuu/p/2009798.html