用C++判断一个大于 2 的正整数 n 是否为素数
时间: 2024-05-11 17:20:17 浏览: 75
输入一个正整数,判断是不是素数(C++)
可以使用试除法来判断一个大于 2 的正整数 n 是否为素数。试除法就是从 2 开始到 n-1,逐个判断 n 能否被这些数整除。如果都不能整除,则 n 是素数,否则不是素数。
以下是用 C++ 实现的代码:
```c++
#include <iostream>
using namespace std;
bool isPrime(int n) {
for (int i = 2; i < n; i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
int main() {
int n;
cout << "请输入一个大于 2 的正整数 n:" << endl;
cin >> n;
if (n <= 2) {
cout << "输入错误,请输入大于 2 的正整数!" << endl;
} else if (isPrime(n)) {
cout << n << " 是素数!" << endl;
} else {
cout << n << " 不是素数!" << endl;
}
return 0;
}
```
需要注意的是,试除法的时间复杂度为 O(n),当 n 很大时,会非常耗费时间。在实际应用中,可以使用更高效的算法,如 Miller-Rabin 算法来判断素数。
阅读全文