写一个fun函数判断m是否为素数
时间: 2023-12-13 11:04:10 浏览: 36
以下是用 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语言编写函数fun,其功能是判断m是否为素数
可以参考以下C语言代码实现:
```
int fun(int m) {
int i;
if (m < 2) {
return 0;
}
for (i = 2; i * i <= m; i++) {
if (m % i == 0) {
return 0;
}
}
return 1;
}
```
其中,如果m小于2,则不是素数,直接返回0;否则,使用for循环从2开始逐个判断m是否能被i整除,如果可以,则说明m不是素数,返回0;如果循环结束都没有被整除,则说明m是素数,返回1。