Skip to content

质数判断 ​

本节目标:理解“质数判断”的核心思路,并能把它用于实际开发或面试表达。 判断一个数是否是质数,我们可以遵循一个基本的数学原则:一个质数是只能被1和它本身整除的大于1的自然数。这意味着,如果你在2到这个数的平方根之间找到任何一个数能整除它,那么它就不是一个质数。

以下是判断一个数是否为质数的步骤:

  1. 检查是否小于2:如果数小于2,它不是质数。
  2. 检查2到该数的平方根之间的数:只需检查到它的平方根是因为,如果一个数不是质数,它必定有一个因子小于等于它的平方根。
  3. 检查是否有因子:如果这个数能被任何一个数整除,那么它不是质数。

下面是一个简单的Python代码示例来实现这个逻辑: import math

方法一:for循环 def is_prime(n):

小于2的数不是质数 ​

if n < 2: return False

检查2到n的平方根之间的数是否能整除n ​

for i in range(2, int(math.sqrt(n)) + 1): if n % i == 0: return False return True

测试函数 ​

print(is_prime(1)) # False print(is_prime(2)) # True print(is_prime(29)) # True print(is_prime(30)) # False

方法二:while循环 def is_prime(num): if num == 1: return False i = 2 while i * i <= num: if num % i == 0: return False i += 1 return True

这段代码首先检查数是否小于2(质数定义中的条件),然后通过循环从2检查到该数的平方根,检查是否存在能够整除该数的因子。如果找到这样的因子,函数返回False,表明这个数不是质数;如果没有找到,函数返回True,表明这个数是质数。

这种方法在数学上是有效的,并且对于绝大多数的质数检查来说都是高效的。对于非常大的数,可能需要更高效的算法来进行质数检查。

本站总访问 — 次