PTA判断素数c语言
时间: 2024-08-05 07:00:41 浏览: 46
在C语言中,编写一个用于判断一个数是否为素数(也称质数)的程序,可以通过循环和除数检查的方式来实现。这里是一个简单的过程:
```c
#include <stdbool.h> // 引入bool类型
// 定义一个函数is_prime,接受一个整数参数n并返回bool值
bool is_prime(int n) {
// 素数定义排除1和0
if (n <= 1) {
return false;
}
// 循环从2到sqrt(n),因为大于√n的因子会有一个小于等于它的平方根的对应因子
for (int i = 2; i * i <= n; i++) {
// 如果n能被i整除,说明n不是素数,返回false
if (n % i == 0) {
return false;
}
}
// 若没有找到因子,则n是素数,返回true
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;
}
```
这个程序首先检查输入的数是否小于或等于1,如果是则直接返回非素数。然后从2开始循环到该数的平方根,如果发现有任何一个数能整除输入的数,就表示这不是素数。如果没有找到这样的因子,则认为它是素数。
阅读全文