python 如何打出素数

原创
ithorizon 8个月前 (09-29) 阅读数 27 #Python

Python如何找出前n个素数

素数(prime number)是大于1的自然数,只有1和它本身能够整除的数,Python找出前n个素数的方法有多种,这里介绍一种简单有效的方法。

我们需要定义一个函数,用来判断一个数是否为素数,我们再定义一个函数,用于找出前n个素数。

判断一个数是否为素数

Python中可以使用is_prime函数来判断一个数是否为素数,is_prime函数接收一个参数n,返回值为True或False,表示n是否为素数。

def is_prime(n):
    if n <= 1:
        return False
    elif n <= 3:
        return True
    elif 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 += 6
    return True

找出前n个素数

使用is_prime函数,我们可以轻松地找出前n个素数,我们定义一个空列表primes,用于存储素数,我们从2开始遍历每个数,判断它是否为素数,如果是,就将它添加到primes列表中,我们返回primes列表,即前n个素数。

def find_primes(n):
    primes = []
    for i in range(2, n + 1):
        if is_prime(i):
            primes.append(i)
    return primes

我们可以调用find_primes函数来找出前n个素数了,要找出前10个素数,可以这样调用:

print(find_primes(10))  # 输出 [2, 3, 5, 7, 11, 13, 17, 19, 23, 29]


热门