【问题标题】:A Program in which the user enters an integer, and the program indicates if that integer was a prime number or not用户输入一个整数的程序,该程序指示该整数是否为质数
【发布时间】:2015-03-27 02:41:41
【问题描述】:

问题是:

"创建一个程序,要求用户输入任何整数,然后向用户指示输入的数字是否为质数 或不。通过创建一个输入为任意integerC++ 函数来做到这一点;通过计算因子的数量,如果输入是素数,您的函数应该return true,否则为 false。"

这是我的代码(请给出方向而不是准确的答案):

using namespace std;

int i;

bool isPrime (int x)

    {
        if (x%i == 0)
        {
            return true;
        }
        else
        {
            return false;
        }
    }


int main()

{

    for (int i = 2; i < x; i++)

    {

    }
}

谢谢!

【问题讨论】:

    标签: c++


    【解决方案1】:

    一种非常快速和简单的素数测试,直接且正确,但对大素数无效。

    bool isPrime(int x){
    
        if(x < 2) return false;
        if(x == 2) return true;
        if(x % 2 == 0) return false;
    
        for(int i=3; (i*i) <= x; i+=2){
            if(x % i == 0 ) return false;
        }
        return true;
    }
    

    参考号:Determining if a number is prime

    有很多方法可以要求用户输入整数并报告它是否是素数,但这是您正在寻找的主要方法。

    【讨论】:

    • 您好,这个方法对您的问题有帮助吗?
    【解决方案2】:
    #include <iostream>
    using namespace std;
    
    bool isPrime(int x)
    {
        for(int i = 2; i <= x/2; i++)
            if(x%i ==0)
                return false;
        return true;
    }
    int main()
    {
        int x;
        cout<<"Enter a number: ";
        cin>>x;
    
        isPrime(x) ? cout<<x<<" is prime" : cout<<x<<" is not prime"<<endl;
    
        return 0;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-23
      • 1970-01-01
      • 2019-07-24
      • 2014-05-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多