欢迎访问宙启技术站
智能推送

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,可以很快判断出它是否为质数。