如何写一个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)来判断一个更大的范围内的质数。但是对于一般的应用场景,上面的函数是一个简单而有效的质数判断函数。
