hrubst 1328

来源:互联网 发布:被冷落的网络流行语 编辑:程序博客网 时间:2024/06/06 04:04

自己的数论好渣。。。。

如果N可以拆成两个互质数的乘积,那么结果就是YES

( 若 n = a*b , 如果 a,b不互质,那么gcd(a,b) > 1, lcm(a,b) = n/(gcd(a,b) < n)

 

#include <iostream>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>

using namespace std;

int gcd( int a, int b)
{
    if( b == 0)
     return a;
    return gcd(b, a%b);
}


int main()
{
    int n;
    int t;
    scanf("%d",&t);
    while(t--)
    {
        scanf("%d",&n);
        bool ok = 0;
        int i;


        for( i = 2; i * i <= n; i++)
        {
            if(n%i == 0)
            {
                int res = n/i;
                if(gcd(res, i) == 1)
                {
                  ok = 1;
                  break;
                }
            }
        }

        if(ok)
        printf("YES\n");
        else
        printf("NO\n");
    }
    return 0;
}

0 0
原创粉丝点击