c++怎么判断一个数是不是质数
时间: 2024-11-09 19:30:09 浏览: 10
输入一个正整数,判断是不是素数(C++)
在C++中,判断一个数是否为质数通常采用的是试除法的基本原理,即检查这个数能否被2到其平方根之间的任何整数整除。如果都不能整除,则该数为质数。以下是使用循环和条件语句实现的一个简单示例:
```cpp
#include <iostream>
#include <cmath> // 引入math库获取sqrt函数
bool isPrime(int n) {
if (n <= 1) { // 质数定义大于1
return false;
}
if (n == 2 || n == 3) { // 2和3是特例,都是质数
return true;
}
if (n % 2 == 0) { // 如果能被2整除则不是质数
return false;
}
int sqrt_n = sqrt(n); // 只需检查到√n即可
for (int i = 3; i <= sqrt_n; i += 2) { // 从3开始,每次加2避免偶数检查
if (n % i == 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;
}
```
阅读全文