帮我实现三个个判断素数的函数cpp
时间: 2023-06-01 14:03:32 浏览: 92
以下是三个判断素数的函数的cpp代码:
1. 判断素数的函数1:使用暴力枚举判断
```cpp
bool isPrime1(int n) {
if (n < 2) {
return false;
}
for (int i = 2; i < n; i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
```
2. 判断素数的函数2:使用优化的暴力枚举判断
```cpp
bool isPrime2(int n) {
if (n < 2) {
return false;
}
if (n == 2 || n == 3) {
return true;
}
if (n % 2 == 0 || n % 3 == 0) {
return false;
}
for (int i = 5; i * i <= n; i += 6) {
if (n % i == 0 || n % (i + 2) == 0) {
return false;
}
}
return true;
}
```
3. 判断素数的函数3:使用筛法判断
```cpp
bool isPrime3(int n) {
if (n < 2) {
return false;
}
vector<bool> is_prime(n + 1, true);
is_prime[0] = is_prime[1] = false;
for (int i = 2; i * i <= n; i++) {
if (is_prime[i]) {
for (int j = i * i; j <= n; j += i) {
is_prime[j] = false;
}
}
}
return is_prime[n];
}
```
阅读全文