如何用C语言编写一个用于判断是否为素数的函数?
时间: 2024-11-15 17:31:08 浏览: 37
在C语言中,我们可以编写一个函数来判断一个整数是否为素数。这里是一个简单的实现方法:
```c
#include <stdbool.h> // 引入bool类型
// 定义函数is_prime,接受一个整数作为输入
bool is_prime(int num) {
// 素数定义:大于1的自然数,除了1和它本身以外不再有其他因子
if (num <= 1) { // 如果数字小于等于1,不是素数
return false;
}
else if (num == 2) { // 2是唯一的偶数素数
return true;
}
else if (num % 2 == 0) { // 其他偶数都不是素数
return false;
}
// 遍历从3到sqrt(num),检查是否有因子
for (int i = 3; i * i <= num; i += 2) { // 只需检查奇数因子,因为偶数已经排除了
if (num % i == 0) {
return false;
}
}
return true; // 没有找到因子,所以是素数
}
// 示例用法
int main() {
int number = 17;
if (is_prime(number)) {
printf("%d 是素数.\n", number);
} else {
printf("%d 不是素数.\n", number);
}
return 0;
}
```
阅读全文