• 调用函数判断一个数是否为素数(传统+优化)


    #include <iostream>
    #include <cmath>
    using namespace std;
    
    bool prime1(int n) //传统的判断素数。
    {
        if(n==1)
            return 0;
        if(n==2)
            return 1;
        int t=(int)sqrt(n);
        for(int i=2;i<=t;i++)
            if(n%i==0)
            return 0;
        return 1;
    }
    bool prime2(int n)//第二种先判断是否能被奇数整除,注意对2要单独判断
    {
        if(n==1)
        return 0;
        int t=(int)sqrt(n);
        for(int i=3;i<=t;i+=2)
            if(n%i==0)
            return 0;
        return 1;
    }
    int main()
    {
        int n;
        while(cin>>n)
        {
            if(prime1(n))
                cout<<"prime1 : YES"<<endl;
            else
                cout<<"prime1 : No"<<endl;
    
            if(n%2==1||n==2)
            {
                if(prime2(n))
                    cout<<"prime2 : YES"<<endl;
                else
                    cout<<"prime2 : NO"<<endl;//写这一条考虑n是1的情况
            }
            else
                cout<<"prime2 : NO"<<endl;
        }
        return 0;
    }
    


    运行:

  • 相关阅读:
    It is unuseful to regret
    越难熬的时候,越要靠自己
    2019/11/11
    QT Http
    QT 初步认识
    模板
    RTTI(Runtime Type Infomation)
    位域
    C++ 多字节string转UTF-8 string
    C++ 读写csv文件
  • 原文地址:https://www.cnblogs.com/sr1993/p/3697771.html
Copyright © 2020-2023  润新知