输入正整数m判断素数yes
时间: 2023-09-23 14:07:34 浏览: 102
以下是 Python 代码实现:
```python
def is_prime(m):
if m <= 1:
return False
for i in range(2, int(m ** 0.5) + 1):
if m % i == 0:
return False
return True
m = int(input("请输入一个正整数: "))
if is_prime(m):
print("yes")
else:
print("no")
```
代码中,`is_prime` 函数判断一个数是否为素数,如果是素数返回 True,否则返回 False。主程序中,读入一个正整数 `m`,调用 `is_prime` 函数判断 `m` 是否为素数,如果是素数输出 "yes",否则输出 "no"。
需要注意的是,判断一个数是否为素数,只需要从 2 到 $\sqrt{m}$ 这个区间内的数作为除数进行判断即可,这是因为如果存在大于 $\sqrt{m}$ 的因数,那么一定存在小于 $\sqrt{m}$ 的因数。
相关问题
C语言 输入一个正整数m(m>1),判断该数是否为素数。 输入格式: 首先输入测试组数T,然后输入T组测试数据。每组测试输入一个正整数m。 输出格式: 对于每组测试,若m为素数则输出yes;反之输出no。 输入样例: 3 9 3 7 输出样例: no yes yes
在C语言中,你可以编写一个程序来判断一个给定的正整数m是否为素数。这里是一个简单的函数实现方法:
```c
#include <stdio.h>
#include <stdbool.h>
bool is_prime(int m) {
if (m <= 1) // 1不是素数
return false;
if (m == 2) // 2是最小的素数
return true;
if (m % 2 == 0) // 偶数除2必有余数,所以如果能被2整除,则非素数
return false;
// 判断是否为质数,只需检查到根号m即可
for (int i = 3; i * i <= m; i += 2) {
if (m % i == 0)
return false;
}
return true;
}
int main() {
int T;
scanf("%d", &T); // 读取测试组数
while (T--) {
int m;
scanf("%d", &m);
if (is_prime(m)) {
printf("yes\n");
} else {
printf("no\n");
}
}
return 0;
}
```
上述代码首先检查m是否小于等于1,或者是偶数,接着只检查奇数因子直到其平方根。如果找到因子,则m不是素数,返回false;否则返回true。
使用c语言写输入一个正整数m,判断该数是不是素数。是素数输出yes,不是素数输出no
可以使用以下代码:int i;
int flag=0;
if (m<=1)
{
printf("no");
return 0;
}
for(i=2; i<=sqrt(m); i++)
{
if(m%i==0)
{
flag=1;
break;
}
}
if(flag==0)
printf("yes");
else
printf("no");
阅读全文