任意给出一个正整数,判断它是否是素数,如果是素数返回值为1,否则返回值是0
时间: 2024-09-26 20:14:50 浏览: 65
要编写一个C程序来判断一个正整数是否是素数,你可以使用以下的方法。这个方法的基本思想是检查从2到该数字平方根之间的所有整数(因为如果n不是素数,那么一定有一个因子小于或等于它的平方根)。如果没有任何一个因子能被整除,那么这个数就是素数。
下面是C代码示例:
```c
#include <stdbool.h> // 引入布尔类型
// 判断是否为素数
int isPrime(int num) {
if (num <= 1) { // 0和1不是素数
return 0;
}
for (int i = 2; i * i <= num; i++) { // 只需检查到 sqrt(n)
if (num % i == 0) { // 如果有因子,不是素数
return 0;
}
}
return 1; // 没有找到因子,所以是素数
}
int main() {
int inputNum;
printf("Enter a positive integer: ");
scanf("%d", &inputNum);
if (isPrime(inputNum)) {
printf("%d is a prime number.\n", inputNum);
} else {
printf("%d is not a prime number.\n", inputNum);
}
return 0;
}
```
阅读全文