如何用C语言编写代码来判断一个整数是否为质数?
时间: 2024-11-10 18:25:18 浏览: 22
在C语言中,我们可以用循环和模运算来判断一个整数是否为质数。以下是一个基本的实现:
```c
#include <stdbool.h> // 引入bool类型
// 判断一个数是否为质数
bool is_prime(int num) {
if (num <= 1) { // 1不是质数,也不考虑负数
return false;
}
if (num == 2 || num == 3) { // 特殊处理2和3
return true;
}
if (num % 2 == 0 || num % 3 == 0) { // 奇数质数大于3的话,一定不会被2或3整除
return false;
}
for (int i = 5; i * i <= num; i += 6) { // 只需要检查6k±1的数作为因子
if (num % i == 0 || num % (i + 2) == 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;
}
```
这个代码首先检查1和2的情况,然后只检查奇数因子,因为所有大于3的质数都可以表示成6k±1的形式。
阅读全文