
C# 题目 求解
素数的定义素数是指大于1,且只能被本身和1整除的正整数(只有1和本身两个正因子)。例如,2,11,67,89都是素数,8,20,27都不是素数。半素数的定义如果一个数能分...
素数的定义
素数是指大于1,且只能被本身和1整除的正整数(只有1和本身两个正因子)。例如,2,11,67,89都是素数, 8,20,27都不是素数。
半素数的定义
如果一个数能分解成两个素数的乘积,且大于1,则称这个数是半素数。如6=2*3,2和3都是素数,那么6就是半素数。12不是半素数。
你的任务是判断一个给定的数字是否是一个半素数。
Input
输入数据有多个测试案例。
每个案例只包含一个整数N,2<=N<=1000000
Output
一个测试案例输出一行。如果是半素数,输出Yes,否则输出No
Sample Input
3
4
6
12
Sample Output
No
Yes
Yes
No 展开
素数是指大于1,且只能被本身和1整除的正整数(只有1和本身两个正因子)。例如,2,11,67,89都是素数, 8,20,27都不是素数。
半素数的定义
如果一个数能分解成两个素数的乘积,且大于1,则称这个数是半素数。如6=2*3,2和3都是素数,那么6就是半素数。12不是半素数。
你的任务是判断一个给定的数字是否是一个半素数。
Input
输入数据有多个测试案例。
每个案例只包含一个整数N,2<=N<=1000000
Output
一个测试案例输出一行。如果是半素数,输出Yes,否则输出No
Sample Input
3
4
6
12
Sample Output
No
Yes
Yes
No 展开
1个回答
展开全部
private bool RoundSemiPrime(int _num)
{
int k = 0;
for (int i = 2; i <= _num / 2; i++)
{
//可整除
if (_num % i == 0 && ++k > 2)
{
return false;
}
}
return k == 2 ? true : false;
}
这个方法用于判断传入的数字是否是半素数.
你循环调用这个方法做输出就OK了.
{
int k = 0;
for (int i = 2; i <= _num / 2; i++)
{
//可整除
if (_num % i == 0 && ++k > 2)
{
return false;
}
}
return k == 2 ? true : false;
}
这个方法用于判断传入的数字是否是半素数.
你循环调用这个方法做输出就OK了.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询