14_判断n是否为素数 通过课程进入 题 号: 18 14_判断n是否为素数 语言要求: C++ 输入一个大于3的整数n,判断它是否为素数。(输出yes/no) 例如,输入4,输出no; 输入7,输出yes。 错误输入,则输出error。所有输出没有回车符号。
时间: 2024-10-23 15:11:47 浏览: 14
判断一个数n是否为素数(质数)的方法是检查该数是否能被2到√n之间的任意一个整数整除,除了1和n本身。如果不能,则n是素数;否则,它不是。
以下是一个简单的C++程序,用于实现这个功能:
```cpp
#include <iostream>
#include <cmath>
bool isPrime(int n) {
if (n <= 1) {
return false;
}
if (n == 2) {
return true;
}
if (n % 2 == 0) {
return false;
}
for (int i = 3; i <= std::sqrt(n); i += 2) {
if (n % i == 0) {
return false;
}
}
return true;
}
int main() {
int n;
std::cout << "Enter a number greater than 3: ";
std::cin >> n;
if (std::cin.fail() || n <= 3) {
std::cout << "error" << std::endl;
} else {
if (isPrime(n)) {
std::cout << "yes" << std::endl;
} else {
std::cout << "no" << std::endl;
}
}
return 0;
}
```
在这个程序中,`isPrime` 函数接收一个整数 `n`,并检查它的因子。如果输入的不是正整数或小于等于3,主函数会输出 "error"。
运行此程序时,请确保输入的是一个大于3的整数。
阅读全文