Python实现的isPrime()方法:检测一个数是否为质数
发布时间:2023-12-11 06:17:22
下面是一个Python实现的isPrime()方法,用于判断一个数是否为质数。
import math
def isPrime(n):
if n <= 1:
return False
# 判断是否存在小于n的因子
for i in range(2, int(math.sqrt(n)) + 1):
if n % i == 0:
return False
return True
使用例子:
print(isPrime(11)) # 输出 True,11是质数 print(isPrime(15)) # 输出 False,15不是质数 print(isPrime(23)) # 输出 True,23是质数 print(isPrime(25)) # 输出 False,25不是质数
该方法的实现原理是遍历2到n的平方根之间的数,依次判断是否是n的因子。如果存在小于n的因子,则n不是质数,返回False;否则,n是质数,返回True。
例如,判断11是否为质数,遍历2到sqrt(11)+1之间的数,发现没有小于11的因子,因此11是质数。但对于15来说,可以找到3和5都是它的因子,所以15不是质数。
这个isPrime()方法的时间复杂度是O(sqrt(n)),其中n是待判断的数。因此,对于较大的n,可以很快判断出它是否为质数。
