利用C++编写一个函数,接受一个整数作为参数,判断它是否为素数(质数)并返回结果。
时间: 2024-12-29 19:32:38 浏览: 63
在C++中,你可以编写一个名为`isPrime`的函数来检查一个给定的整数是否为素数。素数是指大于1的自然数,除了1和它本身以外不再有其他因数的数。以下是函数的简单实现:
```cpp
#include <iostream>
// 函数声明
bool isPrime(int num);
// 素数判定函数
bool isPrime(int num) {
if (num <= 1) {
return false; // 小于等于1的数字不是素数
} else if (num == 2) {
return true; // 2是唯一的偶数素数
} else if (num % 2 == 0) {
return false; // 偶数(除2之外)不可能是素数
} else {
int sqrtNum = std::sqrt(num);
for (int i = 3; i <= sqrtNum; i += 2) {
if (num % i == 0) {
return false; // 如果能被除以一个奇数因子,则不是素数
}
}
return true; // 否则,它是素数
}
}
int main() {
int number;
std::cout << "Enter a number: ";
std::cin >> number;
if (isPrime(number)) {
std::cout << number << " is prime." << std::endl;
} else {
std::cout << number << " is not prime." << std::endl;
}
return 0;
}
```
在这个函数中,首先排除小于等于1的数字以及偶数(除了2),然后只对奇数因子进行检查,直到其平方根,因为一个合数如果有因子大于它的平方根,那么另一个因子必定小于它的平方根。
阅读全文