素数定义:
简单来说,素数就是正能被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;
}