输入一个正整数n,判断n是否是素数,若n是素数,输出Yes,否则输出No。用c语言
时间: 2023-09-03 20:15:21 浏览: 248
请看下面的C语言代码:
```
#include <stdio.h>
int main() {
int n, i, flag = 0;
scanf("%d", &n);
for(i = 2; i <= n / 2; ++i) {
if(n % i == 0) {
flag = 1;
break;
}
}
if (n == 1) {
printf("No");
}
else {
if (flag == 0)
printf("Yes");
else
printf("No");
}
return 0;
}
```
输入一个正整数n,然后使用for循环从2开始遍历到n/2,判断是否存在n的约数。如果存在,将标志变量flag设为1并停止循环。最后再根据flag的值和n的特殊情况(n等于1时不能被视为素数)输出结果。
相关问题
用C语言输入一个正整数m,判断该数是不是素数,是输出yes,不是输出no
在C语言中,你可以通过以下步骤来判断一个正整数m是否为素数:
1. 首先,定义一个函数`isPrime(int m)`,它接受一个整数作为参数。
```c
#include <stdio.h>
#include <stdbool.h>
bool isPrime(int m) {
// 素数定义:大于1的自然数,除了1和自身以外不再有其他因数
if (m <= 1) {
return false; // 小于等于1的数不是素数
}
for (int i = 2; i * i <= m; i++) { // 只需要检查到i*i <= m即可,因为如果存在因子,则一定小于等于√m
if (m % i == 0) { // 如果m能被i整除,说明i是m的因子
return false;
}
}
return true; // 没有找到因子,所以m是素数
}
```
2. 接着,在主函数`main()`里获取用户输入并调用这个函数:
```c
int main() {
int m;
printf("请输入一个正整数:");
scanf("%d", &m);
if (isPrime(m)) {
printf("yes\n");
} else {
printf("no\n");
}
return 0;
}
```
当运行程序时,会提示用户输入一个正整数,然后判断其是否为素数,并显示相应的结果。
输入一个正整数n,判断n是否是素数,若n是素数,输出”Yes”,否则输出”No”。 注意:1不是素数。用C语言
在C语言中,你可以编写一个简单的函数来判断一个正整数n是否为素数。下面是一个基本的示例:
```c
#include <stdbool.h>
bool isPrime(int n) {
// 如果n小于2,直接返回false
if (n <= 1) {
return false;
}
// 判断从2到√n范围内的每个数是否能整除n
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) { // 如果找到能整除的因子,则n不是素数
return false;
}
}
// 没有找到因子,说明n是素数
return true;
}
int main() {
int num;
printf("请输入一个正整数:");
scanf("%d", &num);
if (isPrime(num)) {
printf("Yes\n");
} else {
printf("No\n");
}
return 0;
}
```
这个程序首先检查输入的数是否小于2,然后遍历从2到该数平方根的所有整数,如果找到任何一个数能整除它,那么它就不是素数;如果没有找到,那么它是素数。
阅读全文