python 如何获得素数,Python中获取素数的方法

原创
admin 3周前 (09-25) 阅读数 20 #Python

Python可以使用多种算法来获取素数,其中一种是使用for循环和if语句来检查一个数是否是素数,以下是获取素数Python代码示例

def is_prime(number):
    if number < 2:
        return False
    for i in range(2, number):
        if (number % i) == 0:
            return False
    return True
获取前10个素数
primes = []
for i in range(2, 11):
    if is_prime(i):
        primes.append(i)
print("前10个素数为:", primes)

在这个示例中,is_prime函数用于检查一个数是否是素数,如果是素数,则返回True,否则返回False,我们使用for循环来获取前10个素数,并将它们存储在一列表中,我们打印出前10个素数。

除了使用for循环和if语句,还有其他算法可以获取素数,例如使用埃拉托斯特尼筛法(Sieve of Eratosthenes),这种方法可以高效地获取一定范围内的所有素数,以下是使用埃拉托斯特尼筛法的Python代码示例

def sieve_of_eratosthenes(n):
    primes = [True] * (n+1)
    primes[0], primes[1] = False, False
    for i in range(2, int(n0.5) + 1):
        if primes[i]:
            primes[i*i: n+1: i] = [False] * len(primes[i*i: n+1: i])
    return [p for p in range(2, n + 1) if primes[p]]
获取前10个素数
primes = sieve_of_eratosthenes(10)
print("前10个素数为:", primes)

在这个示例中,sieve_of_eratosthenes函数使用埃拉托斯特尼筛法来获取一定范围内的所有素数,我们将一个布尔值列表primes初始化为True,并将primes[0]primes[1]设置为False,因为0和1不是素数,我们使用for循环和if语句来筛选出所有素数,并将它们存储在一列表中,我们打印出前10个素数。

热门