C++实现素数的求法

素数定义:


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


代码实现:


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

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


#include
using namespace std;
#include

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







你可能感兴趣的:(C++,C,C语言学习总结)