用c语言,给你一个整数,判断是不是素数,如果是输出YES,否则输出NO,多组测试数据,每组一行<10^9,当输入-1时结束,对每组测试数据,在一行中输出YES或NO
时间: 2024-10-25 13:13:10 浏览: 59
在 C 语言中,我们可以编写一个函数来判断一个给定的整数是否为素数。以下是简单的算法实现:
```c
#include <stdbool.h>
#include <stdio.h>
bool isPrime(int num) {
if (num <= 1) {
return false;
}
// 如果 num 小于等于 sqrt(num),那么只需要检查到 sqrt(num)
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) {
return false;
}
}
return true;
}
int main() {
int input;
while (scanf("%d", &input) != EOF && input != -1) {
if (isPrime(input)) {
printf("YES\n");
} else {
printf("NO\n");
}
}
return 0;
}
```
这个程序首先从用户那里读取一个整数作为输入,如果输入的是 -1,则退出循环。对于每个输入值,`isPrime` 函数会检查它是否能被 2 到其平方根之间的任意数字整除,如果可以,则返回 `false`(不是素数),否则返回 `true`(是素数)。最后在 `main` 中输出相应的 "YES" 或 "NO"。
阅读全文