在C语言中,如何编写代码来检查用户输入的一个正整数是否为素数
时间: 2024-12-04 10:26:14 浏览: 7
在C语言中,判断一个正整数n是否为素数可以通过以下步骤实现:
```c
#include <stdio.h>
#include <stdbool.h>
bool is_prime(int n) {
// 素数定义:大于1且只有两个正因数(1和本身)
if (n <= 1) {
return false; // 0和1不是素数
} else if (n == 2) {
return true; // 2是唯一的偶数素数
} else if (n % 2 == 0) {
return false; // 偶数除了2以外都不是素数
}
int sqrt_n = sqrt(n); // 只需检查到n的平方根即可
for (int i = 3; i <= sqrt_n; i += 2) { // 避免检查所有偶数
if (n % i == 0) {
return false;
}
}
return true;
}
int main() {
int num;
printf("请输入一个正整数:");
scanf("%d", &num);
if (is_prime(num)) {
printf("%d是素数。\n", num);
} else {
printf("%d不是素数。\n", num);
}
return 0;
}
```
阅读全文