2 条题解

  • 1
    @ 2022-07-29 15:08:50

    #include <bits/stdc++.h>
    using namespace std;
    bool prime(int x)
    {
    if(x==1) return false;
    for(int i=2;i<=sqrt(x);i++) if(x%i==0) return false;
    return true;
    }
    int main()
    {
    int n;
    cin>>n;
    if(prime(n))
    {
    cout<<"YES\n";
    return 0;
    }

    for(int i=2;i<=sqrt(n);i++)
    {
    if(n%i==0 && prime(i) && prime(n/i))
    {
    cout<<"YES\n";
    return 0;
    }
    }
    cout<<"NO\n";

    return 0;
    }

  • 0
    @ 2021-05-06 12:10:54

    A Almost Prime 题解
    判断素数的方法:

    bool prime(int x)
    {
        if(x==1) return false;
        for(int i=2;i<=sqrt(x);i++) if(x%i==0) return false;
        return true;
    }
    

    只要询问一个数是否能分解为两个素数的乘积即可,即:

        if(prime(n)) 
        {
            cout<<"YES\n";
            return 0;
        }  
        for(int i=2;i<=sqrt(n);i++) 
        {
            if(n%i==0 && prime(i) && prime(n/i)) 
            {
                cout<<"YES\n";
                return 0;
            }
        }
        cout<<"NO\n";
    
  • 1

信息

ID
1245
难度
8
分类
(无)
标签
(无)
递交数
35
已通过
6
通过率
17%
被复制
4
上传者