用c语言实现一个函数,判断参数n是否是素数,是则返回1,否则返回0。
时间: 2024-12-19 19:26:44 浏览: 21
在C语言中,可以编写一个函数`isPrime`来判断一个整数`n`是否为素数。这里提供一种常见的朴素算法,遍历到`sqrt(n)`,检查是否有除1和本身以外的因子。
```c
#include <stdio.h>
#include <math.h>
int isPrime(int n) {
if (n <= 1) {
// 1不是素数,0不是正整数,直接返回0
return 0;
} else if (n == 2) {
// 2是最小的素数,直接返回1
return 1;
} else if (n % 2 == 0) {
// 偶数除了2以外肯定能被2整除,所以不是素数
return 0;
} else {
int sqrt_n = sqrt(n);
for (int i = 3; i <= sqrt_n; i += 2) { // 只需检查奇数因子
if (n % i == 0) {
return 0;
}
}
return 1;
}
}
int main() {
int num;
printf("请输入一个整数:");
scanf("%d", &num);
printf("%d是否是素数?%d\n", num, isPrime(num));
return 0;
}
```
阅读全文