二分法 1

来源:互联网 发布:超星尔雅网络课程网址 编辑:程序博客网 时间:2024/05/16 14:58
#include<iostream>
#include<cmath>
int judge2(long int m)
{
    int i,n=sqrt(m);
    for(i=2;i<=n;i++)
        if(m%i==0)
        break;
    if(i>n)
        return 1;
    else
        return 0;
}
int judge1(long int x)
{
    int i=1,n=sqrt(x);
    for(;i!=n;i++)
    {
        if(i>n)
        {
            break;
        }
    }
    if(i==n)
    {
        return judge2(x);
    }
    else
    {
        return 0;
    }
}


using namespace std;
int main()
{
   long int n;
    while(cin>>n)
    {
        int a;
        a=judge1(n);
        if(a==1)
        {
            cout<<"YES"<<endl;
        }
        else if(a==0)
        {
            cout<<"NO"<<endl;
        }
    }
    return 0;
}
0 0
原创粉丝点击