判断一个数字是否为素数用C++
时间: 2024-09-18 22:08:56 浏览: 41
判断一个数字是否为素数(质数)的一种常见方法是使用试除法,即检查该数字是否能被2到它的平方根之间的所有整数整除。如果都不能整除,则该数字是素数。以下是C++实现的一个简单版本:
```cpp
#include <iostream>
#include <cmath> // 包含sqrt函数
using namespace std;
bool isPrime(int num) {
if (num <= 1) { // 1不是质数,0既不是质数也不是合数
return false;
}
if (num == 2) { // 2是最小的质数
return true;
}
if (num % 2 == 0) { // 偶数除了2以外都不是质数
return num == 2;
}
for (int i = 3; i <= sqrt(num); i += 2) { // 只需检查奇数因子
if (num % i == 0) { // 如果找到一个因子则返回false
return false;
}
}
return true;
}
int main() {
int number;
cout << "请输入一个整数: ";
cin >> number;
if (isPrime(number)) {
cout << number << " 是素数" << endl;
} else {
cout << number << " 不是素数" << endl;
}
return 0;
}
```
这段代码首先排除小于等于1的情况,然后检查偶数(除了2),接着从3开始逐个检查奇数,直到大于其平方根为止。
阅读全文