用c语言循环编写判断m是否为素数
时间: 2024-05-12 20:17:03 浏览: 98
以下是一个用 C 语言编写的循环判断一个数是否为素数的代码:
```c
#include <stdio.h>
int main()
{
int m, i, flag = 0;
printf("Please enter a positive integer: ");
scanf("%d", &m);
for(i = 2; i <= m/2; ++i)
{
// condition for non-prime
if(m%i == 0)
{
flag = 1;
break;
}
}
if (m == 1)
{
printf("1 is neither prime nor composite.\n");
}
else
{
if(flag == 0)
printf("%d is a prime number.\n", m);
else
printf("%d is not a prime number.\n", m);
}
return 0;
}
```
这个代码会要求用户输入一个正整数,然后通过一个循环从2开始到该数的一半进行遍历,检查是否存在该数的一个因子,如果存在则该数不是素数。最后根据是否存在因子来输出“是素数”或“不是素数”的判断结果。
相关问题
用C语言编写程序,判断m是否为素数
可以使用以下代码来判断一个数是否为素数:
```c
#include <stdio.h>
int main()
{
int m, flag = 1;
scanf("%d", &m);
if (m <= 1)
{
flag = 0;
}
else
{
for (int i = 2; i * i <= m; i++)
{
if (m % i == 0)
{
flag = 0;
break;
}
}
}
if (flag == 1)
{
printf("%d是素数\n", m);
}
else
{
printf("%d不是素数\n", m);
}
return 0;
}
```
其中,flag变量用于标记是否为素数,初始值为1,表示是素数。如果m小于等于1,则直接判定为非素数;如果m大于1,则从2开始枚举到平方根m为止,如果m能被枚举到的数整除,则标记为非素数,跳出循环。最后根据flag的值输出判断结果。
c语言编写函数prime判断m是否为素数当m为素数时返回1,否则返回0
好的,这个问题我可以回答。以下是 prime 函数的代码:
```c
int prime(int m) {
if (m <= 1) {
return 0;
}
for (int i = 2; i * i <= m; i++) {
if (m % i == 0) {
return 0;
}
}
return 1;
}
```
如果 m 小于等于 1,直接返回 0。如果 m 大于 1,就从 2 开始循环,到 m 的平方根为止。如果发现存在能整除 m 的数,就返回 0,否则返回 1,表示 m 是素数。
阅读全文