判断一个大于1且小于100000000的整数m是否为素数,如果是素数,输出prime,如果不是,输出not prime,用C语言表示
时间: 2024-12-14 17:28:45 浏览: 5
判断一个数是否为素数的C语言程序通常会通过试除法来进行,即检查该数是否能被2到其平方根之间的所有整数整除。下面是一个简单的示例:
```c
#include <stdio.h>
#include <stdbool.h>
bool isPrime(int m) {
if (m <= 1) { // 1不是素数,且负数和0也没有定义
return false;
}
if (m == 2 || m == 3) { // 2和3是特例,直接返回
return true;
}
if (m % 2 == 0) { // 偶数除了2以外都不是素数
return false;
}
int sqrt_m = (int)sqrt((double)m); // 只需检查到sqrt(m)
for (int i = 3; i <= sqrt_m; i += 2) { // 只考虑奇数因子
if (m % i == 0) { // 如果有因子,说明不是素数
return false;
}
}
return true; // 没有找到因子,所以是素数
}
int main() {
int m;
printf("请输入一个大于1且小于100000000的整数:");
scanf("%d", &m);
if (isPrime(m)) {
printf("prime\n");
} else {
printf("not prime\n");
}
return 0;
}
```
阅读全文