Skip to main content
 首页 » 编程设计

python之尝试用 Python 编写 Eratosthenes Sieve。这是正确的吗我怎样才能让它更快

2025年05月04日8jillzhang

<分区>

Possible Duplicate:
Fastest way to list all primes below N in python

我从事编程的时间并不长,只是为了好玩,我对高级 Python 了解不多,但是... 我写了这个,我想知道它是否真的是一个 Eratosthenes Sieve 程序,如果是,我怎样才能让它更快。我真的不希望有人发布一个解决方案的程序,但更多的是告诉我如何调整我的程序。

def eratSieve(n): 
    all = [] 
    for a in range(2, n+1): 
        all.append(a)                
    for b in all:                        
        for i in range(2,int(round(len(all)/b))): 
            while i*b in all: 
                all.remove(i*b) 
                i+=1 
    return all 

感谢您的帮助。

顺便说一句——它在 Python 2.7 中