输入一个大于3的整数n,判定它是否为素数。C语言
时间: 2024-12-14 12:24:23 浏览: 10
C语言基础练习题:素数判定与字符串反转实现
在C语言中,我们可以编写一个函数来判断一个给定的大于3的整数n是否为素数。素数是指只有1和其本身两个正因数的自然数。以下是实现的简单代码:
```c
#include <stdbool.h> // 使用bool类型
// 判断一个数是否为素数
bool isPrime(int n) {
if (n <= 1) { // 素数大于1
return false;
} else if (n == 2) { // 2是唯一的偶数素数
return true;
} else if (n % 2 == 0) { // 偶数除了2以外都不是素数
return false;
}
// 检查从3到sqrt(n)的奇数因子
for (int i = 3; i * i <= n; i += 2) {
if (n % i == 0) {
return false; // 如果找到因子,则n不是素数
}
}
return true; // 没有找到因子,所以n是素数
}
int main() {
int num;
printf("请输入一个大于3的整数:");
scanf("%d", &num);
if (isPrime(num)) {
printf("%d是素数。\n", num);
} else {
printf("%d不是素数。\n", num);
}
return 0;
}
```
在这个代码中,我们首先排除小于等于1的数以及偶数(除了2),然后只检查奇数作为可能的因子,因为所有大于2的偶数都不能是素数。
阅读全文