用C++写一个上面的程序
时间: 2024-10-01 16:05:20 浏览: 35
当然可以,下面是一个简单的C++函数,用于判断输入的数是否为素数:
```cpp
#include <iostream>
#include <cmath>
bool isPrime(int n) {
if (n <= 1) {
return false;
} else if (n == 2 || n == 3) {
return true;
} else 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;
}
int main() {
int num;
std::cout << "请输入一个整数:";
std::cin >> num;
if (isPrime(num)) {
std::cout << num << " 是素数。\n";
} else {
std::cout << num << " 不是素数。\n";
}
return 0;
}
```
这个程序首先处理了一些特殊情况(如1、2和3),然后通过步长为6的方式只检查6k±1形式的数(即避开所有的偶数和3的倍数),大大减少了不必要的计算。
阅读全文