写一个fun函数判断m是否为素数
时间: 2023-12-13 22:04:10 浏览: 78
以下是用 C 语言编写的判断一个数是否为素数的函数,可以作为参考:
```c
#include <stdio.h>
// 判断一个数是否为素数,是素数返回1,否则返回0
int isPrime(int m) {
int i;
if (m == 1)
return 0;
for (i = 2; i <= m / 2; ++i) {
if (m % i == 0)
return 0;
}
return 1;
}
int main() {
int m;
printf("请输入一个正整数: ");
scanf("%d", &m);
if (isPrime(m))
printf("%d 是一个素数。\n", m);
else
printf("%d 不是一个素数。\n", m);
return 0;
}
```
在上面的代码中,我们定义了一个 `isPrime()` 函数,该函数接收一个整数参数 m,返回值为 1 表示 m 是素数,返回值为 0 表示 m 不是素数。函数内部的实现与之前的程序类似,通过循环从 2 到 m/2 来判断 m 是否能被某个数整除。在主函数中,我们调用 `isPrime()` 函数来判断用户输入的数是否为素数。
相关问题
用fun函数判断m是否为素数
fun函数可以根据以下步骤来判断一个数是否为素数:
1. 首先,判断m是否是1或者0,因为1和0都不是素数。如果m等于1或者0,那么fun函数应该返回False。
2. 其次,判断m是否能被2整除,并且m不等于2。如果满足这两个条件,那么m不是素数,因为除了2以外,没有其他偶数是素数。如果m可以被2整除并且不等于2,那么fun函数应该返回False。
3. 然后,使用一个循环从3到m的平方根(向下取整)。在循环中,判断m是否可以被任何一个小于m的数整除。如果找到了一个能整除m的数,那么m不是素数,fun函数应该返回False。
4. 如果循环结束后仍然没有找到能整除m的数,那么m是素数,fun函数应该返回True。
根据以上步骤,可以写出以下fun函数的代码实现:
def fun(m):
if m == 1 or m == 0:
return False
elif m == 2:
return True
else:
for i in range(3, int(m**0.5)+1):
if m % i == 0:
return False
return True
使用fun函数,可以方便地判断一个数m是否为素数。
用c++写一个程序,功能:判断m是否为素数,如果m是素数,函数fun返回1,否则返回0
以下是用C++编写的判断素数的函数fun:
```c++
int fun(int m) {
if (m <= 1) { // 小于等于1的数不是素数
return 0;
}
for (int i = 2; i <= sqrt(m); i++) { // 从2到sqrt(m)枚举m的因子
if (m % i == 0) { // 如果找到了一个因子
return 0; // m不是素数
}
}
return 1; // 没有找到因子,m是素数
}
```
这个函数中,首先判断m是否小于等于1,若是,则不是素数。然后从2到sqrt(m)枚举m的因子,如果找到了一个因子,则m不是素数,返回0;否则,说明m是素数,返回1。
阅读全文