XTU-OJ 1139-D_Prime

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

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
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值