编写函数fun,判断一个数是不是质数,思路:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数函数头:bool IsPrime(int num)
时间: 2024-09-26 22:02:59 浏览: 41
编写一个名为`IsPrime`的函数,用于判断一个给定的整数是否是质数,可以按照以下思路:
```cpp
#include <cmath>
// 函数声明
bool IsPrime(int num);
// 判断质数的核心函数实现
bool IsPrime(int num) {
// 质数定义:大于1的自然数,除了1和它本身以外不再有其他因数
if (num <= 1) {
return false; // 小于等于1的数不是质数
}
// 如果n小于等于sqrt(n),则不需要检查更大的因子了
int sqrt_num = static_cast<int>(std::sqrt(num));
// 遍历从2到sqrt_num(包含),检查是否有因子
for (int i = 2; i <= sqrt_num; ++i) {
if (num % i == 0) { // 如果找到因子,说明num不是质数
return false;
}
}
// 没有找到因子,说明num是质数
return true;
}
// 示例:测试函数
int main() {
int test_numbers[] = {5, 7, 10, 19, 23};
for (int num : test_numbers) {
if (IsPrime(num)) {
std::cout << num << " is a prime number.\n";
} else {
std::cout << num << " is not a prime number.\n";
}
}
return 0;
}
```
阅读全文