在 Python 程序中查找素数的不同方法
pythonserver side programmingprogramming更新于 2025/10/25 4:28:17
在本教程中,我们将探索不同的方法来查找给定的数字是否有效。让我们立即开始吧。
方法 1
这是查找素数的通用方法。
如果数字小于或等于一,则返回 False。
如果数字可以被任何数字整除,则函数将返回 False。
循环后,返回 True。
示例
# 检查素数
def is_prime(n):
if n <= 1:
return False
else:
for i in range(2, n):
# checking for factor
if n % i == 0:
# return False
return False
# returning True
return True
print(f"Is 2 prime: {is_prime(2)}")
print(f"Is 4 prime: {is_prime(4)}")
print(f"Is 7 prime: {is_prime(7)}")
输出
如果您运行上述代码,那么您将获得以下结果。
Is 2 prime: True Is 4 prime: False Is 7 prime: True
方法 2
在此方法中,我们通过将迭代次数削减为 n 的平方根来减少迭代次数。让我们看看代码。
示例
import math
# 检查素数
def is_prime(n):
if n <= 1:
return False
else:
# iterating loop till square root of n
for i in range(2, int(math.sqrt(n)) + 1):
# checking for factor
if n % i == 0:
# return False
return False
# returning True
return True
print(f"Is 2 prime: {is_prime(2)}")
print(f"Is 4 prime: {is_prime(4)}")
print(f"Is 7 prime: {is_prime(7)}")
输出
如果您运行上述代码,那么您将获得以下结果。
Is 2 prime: True Is 4 prime: False Is 7 prime: True
方法 3
在上一种方法中,我们检查了偶数。我们都知道,除了 2 之外,偶数 不可能是素数。因此,在此方法中,我们将删除所有偶数以减少时间。
示例
import math
# 检查素数
def is_prime(n):
# 检查小于 1
if n <= 1:
return False
# checking for 2
elif n == 2:
return True
elif n > 2 and n % 2 == 0:
return False
else:
# iterating loop till square root of n
for i in range(3, int(math.sqrt(n)) + 1, 2):
# checking for factor
if n % i == 0:
# return False
return False
# returning True
return True
print(f"Is 2 prime: {is_prime(2)}")
print(f"Is 4 prime: {is_prime(4)}")
print(f"Is 7 prime: {is_prime(7)}")
输出
如果您运行上述代码,那么您将获得以下结果。
Is 2 prime: True Is 4 prime: False Is 7 prime: True
结论
如果您对本教程有疑问,请在评论部分中提及。
相关文章
有用资源
python 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

