自定义函数判断素数
时间: 2023-09-28 20:12:43 浏览: 76
好的,以下是一个自定义函数用于判断一个数是否为素数(质数):
```python
def is_prime(n):
if n < 2: # 小于2的数不是质数
return False
for i in range(2, int(n ** 0.5) + 1):
if n % i == 0: # 如果n能被i整除,则n不是质数
return False
return True # 如果n不能被2到sqrt(n)之间的任何整数整除,则n是质数
```
在这个函数中,我们首先判断输入的数是否小于2,因为小于2的数不是质数。然后我们从2开始循环到n的平方根,如果n能被这个范围内的任何整数整除,则n不是质数,直接返回False。如果循环结束后都没有返回False,则说明n是质数,返回True。
相关问题
c语言自定义函数判断素数
以下是两种C语言自定义函数判断素数的例子:
1.使用for循环判断
```c
#include <stdio.h>
#include <math.h>
int isPrime(int n) //判断n是否是素数,返回1,不是返回0
{
int i;
for(i=2; i<=sqrt(n); i++)
{
if(n%i==0)
return 0;
}
return 1;
}
int main()
{
int i;
printf("100到200之间的素数: ");
for(i=100; i<=200; i++)
{
if(isPrime(i)==1)
printf("%d ",i);
}
return 0;
}
```
2.使用while循环判断
```c
#include <stdio.h>
#include <math.h>
int isPrime(int n) //判断n是否是素数,是返回1,不是返回0
{
int i=2;
while(i<=sqrt(n))
{
if(n%i==0)
return 0;
i++;
}
return 1;
}
int main()
{
int i=100;
printf("100到200之间的素数: ");
while(i<=200)
{
if(isPrime(i)==1)
printf("%d ",i);
i++;
}
return 0;
}
```
python自定义函数判断素数
判断素数的函数可以自定义实现,以下是一个示例代码:
```python
def isPrime(x):
"""
判断一个数是否为素数
"""
if x < 2:
return False
for i in range(2, int(x ** 0.5) + 1):
if x % i == 0:
return False
return True
```
该函数接受一个整数参数x,如果x小于2,则返回False;否则,从2到x的平方根范围内遍历,如果存在一个数能够整除x,则返回False,否则返回True。
下面是一个示例代码,用于判断m-n之间有几个素数,并输出结果:
```python
def countPrimes(m, n):
"""
判断m-n之间有几个素数,输出结果
"""
if m > n:
m, n = n, m
count = 0
for i in range(m, n + 1):
try:
if isPrime(i):
print(i, "是素数")
count += 1
else:
print(i, "不是素数")
except:
print(i, "输入错误")
print("在", m, "和", n, "之间有", count, "个素数")
# 示例调用
countPrimes(1, 20)
```
该函数接受两个整数参数m和n,如果m大于n,则交换两个参数的值。然后,遍历m到n之间的所有整数,对于每个整数,调用isPrime函数判断是否为素数,并输出结果。如果输入的整数无法转换为整型,则输出输入错误。最后,输出在m和n之间有多少个素数。