用c语言编写,判断数 m 是否为素数(只能被1和它本身整除的整数)
时间: 2024-09-15 11:08:39 浏览: 80
在C语言中,判断一个数m是否为素数通常可以采用试除法,即从2到m的平方根范围内遍历,看是否存在能够整除m的数。如果存在,则m不是素数,否则它是素数。以下是简单的实现:
```c
#include <stdbool.h>
#include <math.h> // 包含sqrt函数
bool is_prime(int m) {
if (m <= 1) { // 1不是素数,小于等于1的数都不考虑
return false;
}
if (m == 2 || m == 3) { // 2和3是特例,它们是素数
return true;
}
if (m % 2 == 0) { // 偶数除了2以外都不是素数
return m == 2;
}
for (int i = 3; i * i <= m; i += 2) { // 只需检查奇数,因为偶数已经排除
if (m % i == 0) {
return false;
}
}
return true; // 没有找到因子,所以是素数
}
// 示例用法
int main() {
int num = 17;
if (is_prime(num)) {
printf("%d是素数。\n", num);
} else {
printf("%d不是素数。\n", num);
}
return 0;
}
```
阅读全文