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

Python实现判断一个数是否为素数

发布时间:2023-12-04 18:43:00

素数是指只能被1和它本身整除的数,不包括1和0。Python可以通过以下代码来判断一个数是否为素数。

def is_prime(n):
    # 0和1不是素数,直接返回False
    if n < 2:
        return False
    
    # 从2开始,遍历到n的平方根+1
    for i in range(2, int(n**0.5) + 1):
        if n % i == 0:
            # 如果n能够整除i,那么n不是素数,返回False
            return False
    
    # 如果n不能被任何小于它的数整除,那么n是素数,返回True
    return True

上述代码中,首先判断了n是否小于2,因为0和1不是素数,所以直接返回False。然后遍历从2到n的平方根+1的所有数,通过判断n能否被这些数整除来决定n是否为素数。

接下来,我们用几个例子来测试一下这个函数。

print(is_prime(2))  # True,2是素数
print(is_prime(3))  # True,3是素数
print(is_prime(5))  # True,5是素数
print(is_prime(9))  # False,9不是素数
print(is_prime(15)) # False,15不是素数
print(is_prime(37)) # True,37是素数

输出结果:

True
True
True
False
False
True

可以看到,输出结果与我们的预期一样,函数能够正确地判断一个数是否为素数。

总结一下,Python中判断一个数是否为素数可以通过遍历从2到平方根+1的范围来判断该数是否能够被其他数整除,如果能够整除,那么该数不是素数;如果不能被任何数整除,那么该数是素数。