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


    运行:

  • 相关阅读:
    python 练习 10
    python 练习 9
    运算符
    变量类型
    打印更多的变量
    变量和命名
    数字和数字计算
    第一个程序
    python 练习 8
    python 练习 7
  • 原文地址:https://www.cnblogs.com/vivider/p/3697520.html
Copyright © 2011-2022 走看看