Description
题目描述
整数n=p*q,p和q为质数,且p≠q,我们称n为D-Prime,请写个程序判断一个数是不是D_Prime。
输入
第一行是一个整数K,表示样例的个数。以后每行是一个整数x,(1 ≤ x ≤ 100,000,000);
输出
每行输出一个样例的结果,如果是输出“Yes”,否则输出“No”。
样例输入
4 30 121 21 12样例输出
No No Yes No
解题思路:
延用上一题《质因数分解》的思路,判断它是否只能分解为两个 素数 相乘(且它们的指数为1)即可。(一更,谢谢同学的指出18行的判断是多余的,确实是的,当时还是沿用 质因数分解 的思想写的题解,就考虑 最后x=1,n = p^x*q^y*1 (x = y = 1) 这种情况,就直接写进去了,实际上这判断条件是不存在的)
AC代码:
#include <stdio.h>
int main()
{
int k,x,i,j;
scanf("%d",&k);
while ( k --)
{
int a = 0;
int index[5] = {0};
scanf("%d",&x);
for ( i = 2; i*i <= x; i ++)
{
for (j

博客给出解题思路,延用《质因数分解》思路,判断是否只能分解为两个素数相乘且指数为1。还提到之前题解中一处判断多余,最后给出了AC代码。
最低0.47元/天 解锁文章
1252

被折叠的 条评论
为什么被折叠?



