📌  相关文章
📜  给定范围内的素数列表 python (1)

📅  最后修改于: 2023-12-03 15:11:40.748000             🧑  作者: Mango

给定范围内的素数列表 Python

本文将介绍如何在 Python 中生成给定范围内的素数列表。

什么是素数?

素数是一个大于 1 的自然数,只有 1 和它本身两个因数的数。

生成素数列表的方法

通过判断一个数是否为素数,可以生成素数列表。我们可以通过以下步骤来生成素数列表:

  1. 首先,定义一个列表来存储素数。

    primes = []
    
  2. 接着,循环从2开始到给定范围内的数,并判断每一个数是否为素数。若该数为素数,则加入素数列表中。

    for num in range(2, n+1):
        # 判断num是否为素数
        for i in range(2, int(num/2)+1):
            if (num % i) == 0:
                break
        else:
            primes.append(num)
    

    在上述代码中,我们通过循环从2开始到n(给定范围内的数),判断每一个数是否为素数。如果该数不是素数,则通过break语句跳出内层循环,否则else语句会被执行,并将该数加入素数列表中。

完整代码如下:

def generate_prime_numbers(n):
    """
    在给定范围内生成素数列表

    :param n: 整数型,范围上限
    :return: 所有范围内的素数列表
    """

    primes = []

    for num in range(2, n+1):
        # 判断num是否为素数
        for i in range(2, int(num/2)+1):
            if (num % i) == 0:
                break
        else:
            primes.append(num)

    return primes
示例

通过调用该函数,并将参数设置为10,则可以生成 2 到 10 之间的素数列表,即[2, 3, 5, 7]

primes = generate_prime_numbers(10)
print(primes)

输出:

[2, 3, 5, 7]
总结

在 Python 中生成给定范围内的素数列表,我们可以通过判断一个数是否为素数来实现。我们定义一个列表来存储素数,并循环从2开始到给定范围内的数,判断每一个数是否为素数。如果该数是素数,则将其加入素数列表中。最终,我们会返回素数列表。这个方法的时间复杂度为 $O(n^2)$。