C++输入一个正整数n,判断n是否为质数
时间: 2024-10-11 13:15:25 浏览: 47
在C++中,判断一个正整数n是否为质数可以采用常见的试除法算法。如果n小于2,则它不是质数;如果n等于2,它是质数;如果n是偶数(除了2),那么肯定不是质数,因为所有偶数(除了2)都可以分解成2的倍数。对于奇数n,从3开始到√n(向下取整),看是否有能整除n的因子。如果有,则n不是质数,否则它是质数。
以下是简单的代码实现:
```cpp
#include <iostream>
#include <cmath>
bool isPrime(int n) {
if (n <= 1) {
return false;
} else if (n == 2) {
return true;
} else if (n % 2 == 0) {
return false;
}
for (int i = 3; i * i <= n; i += 2) { // 只考虑奇数因子
if (n % i == 0) {
return false;
}
}
return true;
}
int main() {
int n;
std::cout << "请输入一个正整数: ";
std::cin >> n;
if (isPrime(n)) {
std::cout << n << "是质数" << std::endl;
} else {
std::cout << n << "不是质数" << std::endl;
}
return 0;
}
```
阅读全文