Python 判断素数
素数在许多信息技术应用中扮演着核心角色,例如密码学。因此,在各种应用中使用 Python 程序检查素数是必要的。素数是指除了 1 和自身之外没有其他因子的数。下面我们将看到可以找出给定数字是否为素数的程序。
方法
我们采用以下方法来判断一个数是否为素数。
首先检查数字是否为正数。因为只有正数才能是素数。
我们将数字除以从 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 的形式。这里 I 从 1 开始,依次递增为整数。在下面的例子中,我们将通过将其除以 6 并检查余数是否为 1 来检查该数字是否可以表示为 6i+1 的形式。相应地,我们将决定该数字是否为素数。我们还需要检查 i 值是否等于给定数字的平方根。
示例
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
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP