埃拉托斯特尼素数筛选法算法的Python实现
埃拉托斯特尼素数筛选法(Sieve of Eratosthenes)是一种用于生成一定范围内所有素数的经典算法。该算法的原理是通过逐步排除非素数的方式,最终得到所有的素数。在本文中,我们将详细介绍如何使用Python实现埃拉托斯特尼素数筛选法,并提供相应的源代码。
算法步骤如下:
- 创建一个长度为n+1的布尔数组is_prime,初始化所有元素为True。该数组用于标记数字是否为素数,其中索引表示数字本身。
- 将is_prime[0]和is_prime[1]设置为False,因为0和1不是素数。
- 从2开始,遍历数组中的每个数字num,如果is_prime[num]为True,则将所有num的倍数(除了num本身)标记为False,因为它们不是素数。
- 遍历完所有数字后,is_prime中值为True的索引即为素数。
下面是使用Python实现埃拉托斯特尼素数筛选法的源代码:
def prime_sieve(n):
is_prime =