用户输入整数的程序,程序指示该整数是否为素数

时间:2015-03-27 02:41:41

标签: c++

问题是:

“创建一个程序,要求用户输入任何整数,然后向用户指示输入的数字是否为素数 或不。通过创建一个输入为C++的{​​{1}}函数来完成此操作;通过计算因子的数量,如果输入为素数,则函数integer为真,否则为假。“

这是我的代码(请指明方向而非准确答案):

return

谢谢!

2 个答案:

答案 0 :(得分:3)

一种非常快速和简单的素性测试,它简单明了,但对于大素数不是很有效。

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

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

答案 1 :(得分:0)

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