质数在诸如密码学的许多应用中起着核心作用。因此,有必要在各种应用程序中使用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
所有大于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