用C语言编写程序,判断m是否为素数
时间: 2023-12-13 08:04:08 浏览: 111
可以使用以下代码来判断一个数是否为素数:
```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语言编写程序判断数m是否为素数(只能被一和他本身整除的整数)?
好的,根据您的要求,我可以为您提供以下C语言代码来判断一个数是否为素数:
```c
#include <stdio.h>
int main() {
int m, i, is_prime = 1;
printf("请输入一个整数:");
scanf("%d", &m);
if (m <= 1) {
is_prime = 0;
} else {
for (i = 2; i < m; i++) {
if (m % i == 0) {
is_prime = 0;
break;
}
}
}
if (is_prime) {
printf("%d是素数\n", m);
} else {
printf("%d不是素数\n", m);
}
return 0;
}
```
以上代码中,我们用变量`is_prime`来表示是否为素数,初始化为1(即为素数),如果在循环中发现`m`能被`i`整除,则将`is_prime`赋值为0(即不是素数),并跳出循环。最后根据`is_prime`的值输出结果。注意,如果`m`小于等于1,直接将`is_prime`赋值为0。
您可以将以上代码保存为一个.c文件并编译运行,然后根据提示输入一个整数,程序将会输出结果。
用c语言判断m是否为素数
以下是用 C 语言编写的判断一个数是否为素数的代码示例:
```c
#include <stdio.h>
int main() {
int m, i, flag = 0;
printf("请输入一个正整数: ");
scanf("%d", &m);
for (i = 2; i <= m / 2; ++i) {
if (m % i == 0) {
flag = 1;
break;
}
}
if (m == 1) {
printf("%d 既不是素数也不是合数。\n", m);
}
else {
if (flag == 0)
printf("%d 是一个素数。\n", m);
else
printf("%d 不是一个素数。\n", m);
}
return 0;
}
```
该程序通过循环从 2 到 m/2 来判断 m 是否能被某个数整除,如果能被整除则说明不是素数,否则就是素数。需要注意的是,1 既不是素数也不是合数。
阅读全文