题目描述 编写一个程序判断一个数是否为素数,注意1不是素数,2是素数。 输入格式 整数 输出格式 1或0(其中1表示此数为素数,0为表示为不是素数)
时间: 2024-11-16 13:20:20 浏览: 23
题目要求你编写一个C程序,用于检查一个给定的整数是否是素数。素数是指只有1和自身两个正因数的大于1的自然数。根据题目说明:
1. 输入是一个整数(可能包括1,但需要特殊处理,因为1不是素数)。
2. 输出结果是1表示该数是素数,0表示不是素数。
以下是简单的C语言代码实现这个功能:
```c
#include <stdio.h>
int is_prime(int num) {
if (num <= 1) { // 特殊情况:1不是素数
return 0;
} else if (num == 2) { // 2是唯一的偶数素数
return 1;
} else if (num % 2 == 0) { // 偶数除以2一定有余数,不是素数
return 0;
}
for (int i = 3; i * i <= num; i += 2) { // 只需检查奇数因子
if (num % i == 0) {
return 0; // 如果找到因子,则不是素数
}
}
return 1; // 没有找到因子,所以是素数
}
int main() {
int num;
printf("Enter an integer: ");
scanf("%d", &num);
int result = is_prime(num);
if (result == 1) {
printf("The number is prime.\n");
} else {
printf("The number is not prime.\n");
}
return 0;
}
```
阅读全文