埃拉托斯特尼筛法的 Python 程序
pythonserver side programmingprogramming
在本文中,我们将了解下面给出的问题陈述的解决方案。
问题陈述 − 给定一个数字 n,我们需要打印所有小于或等于 n 的素数。限制:n 是一个小数。
现在让我们观察下面实现中的解决方案 −
示例
def SieveOfEratosthenes(n): # 布尔类型数组,其中包含 True 值 prime = [True for i in range(n + 1)] p = 2 while (p * p <= n): # 如果保持不变则为素数 if (prime[p] == True): # 更新所有倍数 for i in range(p * 2, n + 1, p): prime[i] = False p += 1 prime[0]= False prime[1]= False # Print for p in range(n + 1): if prime[p]: print (p,end=" ") # main if __name__=='__main__': n = 33 print ("The prime numbers smaller than or equal to", n,"is") SieveOfEratosthenes(n)
输出
The prime numbers smaller than or equal to 33 is 2 3 5 7 11 13 17 19 23 29 31
所有变量均在本地范围内声明,其引用如上图所示。
结论
在本文中,我们了解了如何为埃拉托斯特尼筛法编写 Python 程序