c语言输入一个正整数n,如果它是素数,输出"YES",否则,输出"NO"(素数就是只能被1和自身整除的正整数,1不是素数,2是素数)。 要求定义并调用函数prime(m)判断m是否为素数。
时间: 2024-02-15 08:06:13 浏览: 67
以下是实现该功能的完整代码:
```c
#include <stdio.h>
#include <stdbool.h>
bool prime(int m)
{
if (m == 1) {
return false;
}
for (int i = 2; i * i <= m; i++) {
if (m % i == 0) {
return false;
}
}
return true;
}
int main()
{
int n;
printf("请输入一个正整数n:");
scanf("%d", &n);
if (prime(n)) {
printf("YES\n");
} else {
printf("NO\n");
}
return 0;
}
```
首先定义了一个函数 `prime`,它的功能是判断一个正整数 m 是否为素数。如果 m 等于 1,直接返回 false。否则进行循环判断,如果存在一个数 i 能够整除 m,那么 m 就不是素数,返回 false。如果循环结束后没有返回 false,说明 m 是素数,返回 true。
在 `main` 函数中,先读入一个正整数 n,然后调用 `prime` 函数判断 n 是否是素数,如果是,输出 "YES",否则输出 "NO"。
相关问题
C语言输入一个正整数 n,如果它是素数,输出"YES",否则,输出"NO"(素数就是只能被1 和自身整除的正整数,1 不是素数,2 是素数)。 要求定义并调用函数 prime(m)判断m 是否为素数。
```c
#include <stdio.h>
int prime(int m) {
if (m < 2) {
return 0;
}
for (int i = 2; i * i <= m; i++) {
if (m % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int n;
scanf("%d", &n);
if (prime(n)) {
printf("YES\n");
} else {
printf("NO\n");
}
return 0;
}
```
用c语言编程键盘输入一个正整数,要求判断该数是否为素数。素数即质数,只能被1和它本身整除。特别说明,1不是素数。如果是素数,输出“YES”,否则输出“NO”。 输入格式: 输入只有一个用例,即一个整数n。 输出格式: 如果n是素数,输出“YES”,否则输出“NO”。 输入样例: 11 输出样例: 在这里给出相应的输出。例如: YES
以下是使用C语言编写的判断一个正整数是否为素数的代码:
```c
#include <stdio.h>
int main()
{
int n, i, isPrime = 1;
scanf("%d", &n);
if (n == 1) {
isPrime = 0;
} else if (n == 2) {
isPrime = 1;
} else {
for (i = 2; i < n; i++) {
if (n % i == 0) {
isPrime = 0;
break;
}
}
}
if (isPrime) {
printf("YES\n");
} else {
printf("NO\n");
}
return 0;
}
```
代码思路如下:
1. 从键盘输入一个正整数n;
2. 如果n等于1,则不是素数;
3. 如果n等于2,则是素数;
4. 如果n大于2,则从2到n-1枚举每一个数,判断n能否被该数整除;
5. 如果n能被2到n-1之间的任意一个数整除,则不是素数;
6. 如果n不能被2到n-1之间的任何一个数整除,则是素数。
阅读全文