在Python中是否为Prime

质数在诸如密码学的许多应用中起着核心作用。因此,有必要在各种应用程序中使用Python程序检查素数。质数是一个除自身以外没有其他任何因素的数字。下面将看到可以找出给定数字是否为质数的程序。

方法

我们采用以下方法来确定数字是否为质数。

  • 开始时检查是否为正。因为只有正数可以是质数。

  • 我们将数字除以所有数字,并将其除以给定数字小于2的一个数字。

  • 如果此范围内任何数字的余数变为零,则它不是质数。

示例

x = 23
if x > 1:
   for n in range(2, x):
      if (x % n) == 0:
         print(x, "is not prime")
         print(n, "times", x // n, "is", x)
         break
   else:
      print(x, "is a prime number")
   else:
      print(x, "is not prime number")

输出结果

运行上面的代码给我们以下结果-

23 is a prime number

检查表格6i + 1

所有大于6的质数都可以6i + 1的形式表示。在这里,我从1开始,以整数继续。在下面的示例中,我们将检查数字是否可以以6i + 1的形式表示,方法是将其除以6并检查一个提醒是否为1。因此,将决定数字是否为质数。另外,我们需要检查ai值是否等于给定数字的平方根。

示例

def CheckPrime(n):
   # Check for cases of 2 and 3
   if (n <= 1):
      return False
   if (n <= 3):
      return True
   # skip checking middle five numbers in the loop
   if (n % 2 == 0 or n % 3 == 0):
      return False
   i = 5
   while (i * i <= n):
      if (n % i == 0 or n % (i + 2) == 0):
         return False
      i = i + 6
   return True
# Check for inputs
if (CheckPrime(31)):
   print(" true")
else:
   print(" false")
if (CheckPrime(25)):
   print(" true")
else:
   print(" false")

输出结果

运行上面的代码给我们以下结果-

true
false