利用c语言判断一个正数是不是素数
时间: 2023-05-21 15:01:50 浏览: 51
可以使用以下代码来判断一个正整数是否为素数:
```c
#include <stdio.h>
int is_prime(int n) {
if (n <= 1) {
return 0;
}
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int n;
printf("请输入一个正整数:");
scanf("%d", &n);
if (is_prime(n)) {
printf("%d是素数\n", n);
} else {
printf("%d不是素数\n", n);
}
return 0;
}
```
该程序首先判断输入的数是否小于等于1,如果是,则不是素数。然后从2开始遍历到sqrt(n),如果n能被任何一个小于等于sqrt(n)的数整除,则不是素数,否则是素数。
相关问题
c语言输入一个整数判断质数
以下是C语言判断一个整数是否为质数的代码:
```c
#include <stdio.h>
int main() {
int num, i;
printf("请输入一个正整数:");
scanf("%d", &num);
for (i = 2; i <= num / 2; i++) {
if (num % i == 0) {
break;
}
}
if (i > num / 2 && num != 1) {
printf("%d是质数!", num);
} else {
printf("%d不是质数!", num);
}
return 0;
}
```
该程序通过循环判断输入的整数是否能被2到num/2之间的任意一个数整除,如果能,则说明该数不是质数,否则说明该数是质数。
写一个c语言程序判断输入整数是否是素数
好的,以下是一个判断输入整数是否是素数的C语言程序:
```c
#include <stdio.h>
int main() {
int num, i, flag = 0;
printf("请输入一个整数:");
scanf("%d", &num);
for (i = 2; i <= num / 2; i++) {
if (num % i == 0) {
flag = 1;
break;
}
}
if (num == 1) {
printf("%d不是素数。\n", num);
}
else {
if (flag == 0)
printf("%d是素数。\n", num);
else
printf("%d不是素数。\n", num);
}
return 0;
}
```
程序流程如下:
1. 提示用户输入一个整数。
2. 通过scanf函数读取用户输入的整数。
3. 判断输入的数是否是1,如果是1则输出不是素数。
4. 从2开始循环判断该数是否能被2到num/2之间的整数整除,如果存在一个整除因子,则该数不是素数。
5. 根据flag变量的值判断该数是否是素数并输出相应的结果。
希望能帮到您!