📜  在Python中是否为素数(1)

📅  最后修改于: 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

无论采用哪种方法,都可以判断一个数是否为素数。