Il crivello di Eratostene

Posted on Wed 30 January 2008 in Python

Questo codice Python di esempio, genera una lista di numeri primi che vanno da 2 fino al numero passato come parametro.

def eratostene(x):  
    primi = range(3, x + 1, 2)  
    for i in primi:  
        if(pow(i, 2) > x):  
            break  
        for j in primi:  
            if(i != j) and (j % i == 0):  
                primi.remove(j)  
                primi.insert(0, 2)
    return primi