python实现判断是否为素数的函数

  • Post category:Python

Python实现判断素数的函数,可以采用试除法进行求解。具体步骤如下:

  1. 接受一个大于1的整数n作为输入参数,判断n是否为素数

  2. 判断n是否能够被2整除,如果n能够被2整除并且n不等于2,则n不是素数,直接返回False,否则继续进行下面的操作

if n % 2 == 0 and n != 2:
    return False
  1. 循环从3到n开平方根的整数,判断n是否能够被这些数整除。由于一个数不可能被大于它开平方根的整数整除,所以只需要循环到小于等于 sqrt(n) 的整数值。
from math import sqrt

for i in range(3, int(sqrt(n)) + 1, 2):
    if n % i == 0:
        return False
  1. 如果n不能被2整除,并且在3到 sqrt(n) 的范围内没有整数能够整除n,则n是素数,返回True。
return True

下面是一个完整的代码实例:

from math import sqrt

def is_prime(n: int) -> bool:
    if n < 2:
        return False
    elif n == 2:
        return True
    elif n % 2 == 0:
        return False
    else:
        for i in range(3, int(sqrt(n)) + 1, 2):
            if n % i == 0:
                return False
        return True

另一个示例:

def is_prime(n: int) -> bool:
    return n > 1 and all(n % i for i in range(2, int(n**0.5) + 1))

该示例使用了Python的all()函数来检查从2到 sqrt(n) 的整数能否整除n,并返回True或False。它使用了Python的语言特性与数学运算符实现了更为简单的素数判断函数。