判断一个数是否素数。从键盘输入一个整数n 判断他是否为素数,并输出结果。用c语言写一段代码
时间: 2024-10-08 18:11:04 浏览: 80
判断一个数是否为素数的基本算法是试除法,即检查该数是否能被小于它的所有正整数整除。下面是一个简单的 C 语言程序,用于判断输入的整数 `n` 是否为素数:
```c
#include <stdio.h>
#include <stdbool.h> // 使用 bool 数据类型
bool isPrime(int n) {
if (n <= 1) { // 0 和 1 不是素数
return false;
} else if (n <= 3) { // 2 和 3 是素数
return true;
} else if (n % 2 == 0 || n % 3 == 0) { // 排除偶数和能被 3 整除的数
return false;
}
for (int i = 5; i * i <= n; i += 6) { // 只需检查到 sqrt(n)
if (n % i == 0 || n % (i + 2) == 0) {
return false;
}
}
return true;
}
int main() {
int num;
printf("请输入一个整数: ");
scanf("%d", &num);
if (isPrime(num)) {
printf("%d 是素数。\n", num);
} else {
printf("%d 不是素数。\n", num);
}
return 0;
}
```
这个代码首先排除了0、1和2、3之外的数,然后只检查能被 6k±1 形式的数整除的情况,因为除了 2 和 3 以外,所有的素数都可以表示成这种形式。
阅读全文