输入一个正整数m,判断它是否为素数
时间: 2023-12-13 20:05:00 浏览: 36
好的,这个问题很简单。素数是指只能被1和自己整除的正整数,因此我们可以从2开始遍历到m-1,判断m是否能被其中任何一个数整除。如果都不能整除,则m就是一个素数。这是代码实现:
```python
def is_prime(m):
if m < 2:
return False
for i in range(2, m):
if m % i == 0:
return False
return True
```
可以调用这个函数来判断:
```python
m = int(input("请输入一个正整数:"))
if is_prime(m):
print(f"{m} 是素数")
else:
print(f"{m} 不是素数")
```
希望这个回答能帮到你。
相关问题
用c语言写输入一个正整数m,判断它是否为素数
```c
#include <stdio.h>
int main() {
int m, i, flag = 1;
printf("请输入一个正整数:");
scanf("%d", &m);
for (i = 2; i <= m / 2; i++) {
if (m % i == 0) {
flag = 0;
break;
}
}
if (flag == 1 && m > 1) {
printf("%d是素数\n", m);
} else {
printf("%d不是素数\n", m);
}
return 0;
}
```
说明:
首先,我们输入一个正整数m。
接着,我们使用一个for循环,从2开始到m/2结束,依次判断m是否能被i整除。
如果能被整除,则说明m不是素数,将flag置为0,并跳出循环。
最后,我们根据flag的值判断m是否是素数,并输出结果。
需要注意的是,1不是素数。
C语言 判断任意一个输入的正整数M是否为素数
可以使用以下算法来判断一个正整数M是否为素数:
1. 如果M小于2,那么它不是素数;
2. 如果M等于2,那么它是素数;
3. 如果M是偶数,那么它不是素数;
4. 对于从3开始的奇数k,如果k的平方大于M,那么M是素数;否则,如果M能被k整除,那么它不是素数。
下面是一个示例代码实现:
```c
#include <stdio.h>
int is_prime(int M) {
if (M < 2) {
return 0;
} else if (M == 2) {
return 1;
} else if (M % 2 == 0) {
return 0;
} else {
for (int k = 3; k * k <= M; k += 2) {
if (M % k == 0) {
return 0;
}
}
return 1;
}
}
int main() {
int M;
printf("请输入一个正整数:");
scanf("%d", &M);
if (is_prime(M)) {
printf("%d是素数\n", M);
} else {
printf("%d不是素数\n", M);
}
return 0;
}
```
在该示例中,我们定义了一个名为`is_prime`的函数来判断一个正整数是否为素数。在`main`函数中,我们首先读取一个正整数M,然后调用`is_prime`函数来判断M是否为素数,并输出相应的结果。