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

如何写一个Python函数,判断一个数是否是质数?

发布时间:2023-06-30 12:07:45

判断一个数是否是质数的函数可以通过遍历从2到该数的平方根范围内的所有自然数,检查能否整除该数来实现。以下是一个Python函数,用来判断一个数是否是质数。

import math

def is_prime(n):
    # 边界检查:小于2的数不是质数
    if n < 2:
        return False
    
    # 遍历从2到n的平方根范围内的所有自然数
    for i in range(2, int(math.sqrt(n)) + 1):
        # 如果n能被i整除,则n不是质数
        if n % i == 0:
            return False
    
    # 如果没有找到能够整除n的数,则n是质数
    return True

这个函数首先检查输入的数是否小于2,因为小于2的数都不是质数。然后,它在一个循环中遍历从2到n的平方根范围内的所有自然数。如果找到了能够整除n的数,则n不是质数,返回False。如果循环完成后没有找到能够整除n的数,则n是质数,返回True。

下面是一些示例运行:

print(is_prime(2))  # True
print(is_prime(7))  # True
print(is_prime(16)) # False
print(is_prime(29)) # True
print(is_prime(1))  # False

这些示例分别检查了质数2、7和29,以及非质数16和1。

当然,对于大的输入值,这个函数可能会需要较长的时间来执行。可以使用更高效的算法(如Sieve of Eratosthenes)来判断一个更大的范围内的质数。但是对于一般的应用场景,上面的函数是一个简单而有效的质数判断函数。