您的位置:首页 > 编程语言 > C语言/C++

C++实现素数的求法

2017-05-03 01:06 274 查看
素数定义:

简单来说,素数就是正能被1和它自身整除的数。例如2,3,5,7等都是素数

代码实现:

(1)最简单的一种方法判断一个数是不是素数n,就是用2—(n-1)去分别除这个数,如果有一个能被整除,则该数不是素数,否则该数是素数。

(2)优化:不用去判断2—(n-1),只需要判断2—n/2或者2—n开平方即可

#include<iostream>
using namespace std;
#include<cmath>

bool IsPrime(int num)	//num为我们要判断的数
{
//for (int i = 2; i < num - 1; i++)		//最传统的方式
//for (int i = 2; i < num/2; i++)		//只判断一半的方式
for (int i = 2; i < sqrt(num); i++)		//最优化的判断方式
{
if (num%i == 0)
{
return false;
}
}
return true;
}

int main()
{
int num = 0;
cout<<"请输入你要判断的数:";
cin >> num;
if (IsPrime(num))
{
cout << num << "是素数" << endl;
}
else
{
cout << num << "不是素数" << endl;
}
system("pause");
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: