C语言:判断一个数是否为素数
时间: 2023-12-05 17:40:52 浏览: 45
以下是C语言判断一个数是否为素数的代码示例:
```c
#include <stdio.h>
#include <math.h>
int main() {
int i, j, n;
printf("Please input a number: ");
scanf("%d", &n);
j = (int)sqrt(n);
for (i = 2; i <= j; i++) {
if (n % i ==0) {
break;
}
}
if (j < i) {
printf("%d is a prime number!\n", n);
} else {
printf("%d is not a prime number!\n", n);
}
return 0;
}
```
该程序通过循环判断输入的数n是否能被2到sqrt(n)之间的数整除,如果能整除则不是素数,否则就是素数。其中sqrt()函数用于求n的平方根,需要包含math.h头文件。
相关问题
编写一个c语言程序判断一个数是否为素数
下面是一个C语言程序,用于判断一个数是否为素数:
```c
#include <stdio.h>
int main() {
int i = 0;
int j = 0;
scanf("%d", &j);
for (i = 2; i <= j / 2; i++) {
if (j % i == 0) {
printf("0"); break;
}
}
if (j == 1) {
printf("0");
}
if ((i > j / 2) && (j != 1)) {
printf("1");
}
return 0;
}
```
该程序通过循环遍历2到该数的一半,判断该数是否能被2到该数的一半之间的任意一个数整除,如果能,则该数不是素数,输出0;否则,该数是素数,输出1。需要注意的是,1不是素数,需要特殊处理。
写一个C语言代码 判断一个数是否为素数
好的,以下是判断一个数是否为素数的 C 语言代码:
```
#include <stdio.h>
int main()
{
int num, i, flag = 0;
printf("请输入一个正整数: ");
scanf("%d", &num);
for(i = 2; i <= num/2; ++i)
{
// 若 num 能被 i 整除,则说明 num 不是素数
if(num % i == 0)
{
flag = 1;
break;
}
}
if(num == 1)
{
printf("1 不是素数也不是合数");
}
else
{
if(flag == 0)
printf("%d 是素数", num);
else
printf("%d 不是素数", num);
}
return 0;
}
```
如果输入的 num 为素数,程序将输出“num 是素数”,否则输出“num 不是素数”。