检查输入的数是否为素数
#include <iostream>
using namespace std;
int main()
{
int num, k;
cout << "请输入要检测的数:";
cin >> num;
if (num == 2) //2是素数
{
cout << num << "是素数\n";
return 0;
}
if (num % 2 == 0 || num == 1)//1、偶数都不是素数
{
cout << num << "不是素数\n";
return 0;
}
//接下来用两种方法来检测
//1.1—num只有两个因子
int count = 0;
for (k = 1; k <= num; k += 2)
if (num % k == 0) ++count;
if (count == 2) cout << num << "是素数\n";
else cout << num << "不是素数\n";
/***************************************
//2.3—(num-1)无因子,break跳出
for (k = 3; k < num; k += 2)
if (num % k == 0) break;
if (k < num) cout <<num<< "不是素数\n"; //由break跳出循环
else cout << num << "是素数\n"; //正常跳出循环
*******************************************/
return 0;
}
运行结果: