zoukankan      html  css  js  c++  java
  • 调用函数判断一个数是否为素数(传统+优化)

    #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;
    }
    


    运行:

  • 相关阅读:
    Java
    HashMap数据结构与实现原理解析(干货)
    Java
    Java
    Java
    面向对象基础
    Java
    Java
    Java
    shell脚本
  • 原文地址:https://www.cnblogs.com/sr1993/p/3697771.html
Copyright © 2011-2022 走看看