📅  最后修改于: 2023-12-03 15:07:55.861000             🧑  作者: Mango
素数是指只能被1和本身整除的数,例如2、3、5、7、11、13等都是素数,而4、6、8、9、10等不是素数。
在Python中判断一个数是否为素数,可以通过以下方法实现。
试除法是指对于一个数n,从2到n-1都试着去除n,如果没有整除器,则n为素数。代码如下:
def is_prime(num):
if num < 2:
return False
for i in range(2, num):
if num % i == 0:
return False
return True
下面分别输入10和11进行测试:
print(is_prime(10))
print(is_prime(11))
输出结果如下:
False
True
开方法是将试除法中的范围从2到n-1缩小到2到√n,代码如下:
import math
def is_prime(num):
if num < 2:
return False
for i in range(2, int(math.sqrt(num))+1):
if num % i == 0:
return False
return True
下面分别输入10和11进行测试:
print(is_prime(10))
print(is_prime(11))
输出结果如下:
False
True
筛法是指从2开始,将每个质数的倍数都标记成合数,直到找到所有小于n的质数。代码如下:
def is_prime(num):
if num < 2:
return False
for i in range(2, int(num/2)+1):
if num % i == 0:
return False
return True
下面分别输入10和11进行测试:
print(is_prime(10))
print(is_prime(11))
输出结果如下:
False
True
无论采用哪种方法,都可以判断一个数是否为素数。