在Python程序中查找素数的不同方法

在本教程中,我们将探索不同的方法来查找给定数字是否有效。让我们开始吧!

方法1

这是查找质数的一般方法。

  • 如果数字小于或等于1,则返回False。

  • 如果数字可被任何数字整除,则该函数将返回False。

  • 循环后,返回True。

示例

# checking for prime

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

# checking for prime

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

在前面的方法中,我们检查了偶数。我们都知道,偶数不能是素数,除非是两个。因此,在这种方法中,我们将删除所有偶数以减少时间。

示例

import math

# checking for prime

def is_prime(n):

   # checking for less than 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程序中查找素数的不同方法 的全部内容, 来源链接: utcz.com/z/352458.html

回到顶部