Il crivello di Eratostene

Python Add comments

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

One Response to “Il crivello di Eratostene”

  1. ant Says:

    questo non è il crivello di eratostene…trova i primi ma l’algoritmo di eratostene è molto diverso

    ps comunque è inutile provare se tutti i numeri al quadrato superano il numero dato…basta modificare la chiamata a range, con range(3, int((x+1)**0.5), 2)

Leave a Reply

WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS Log in