[Python] numeri primi

matteo matteo.web73 a gmail.com
Mar 2 Ago 2011 17:49:46 CEST


Il 02/08/2011 17:44, Marco Mariani ha scritto:
> 2011/8/2 matteo <matteo.web73 a gmail.com <mailto:matteo.web73 a gmail.com>>
>
>     non me ne intendo molto di programmazione, sono alle prime armi,
>     ma secondo voi è buono un codice che riesce in 5 secondi a trovare
>     tutti i numeri primi da 1 a 1000000? (ho un intel i3 da 3 ghz)
>
>
> in assoluto? dipende :-)
>
> marco a aigor:~$ time primes 1 1000000 > /dev/null
>
> real    0m0.018s
> user    0m0.016s
> sys    0m0.000s
>
>     P.S.: il codice l'ho elaborato io studiando un po da solo i numeri
>     primi
>
>
> bene!
> se hai voglia di pubblicarlo possiamo commentarlo assieme
>
>
>
>
> _______________________________________________
> Python mailing list
> Python a lists.python.it
> http://lists.python.it/mailman/listinfo/python
import math
def primi(N):

     """ Print first N prime numbers """

     primes=[2]
     x=3
     while x<N:
        valid=True
        for divi in primes[:int(math.sqrt(x))]:
           if x%divi==0:
              valid=False
              break
        if valid:
           primes.append(x)
        x=x+2
     return primes

ecco ;) è sempliciotto, ma gia ho pensato a qualcosa per migliorarlo, 
voi che ne pensate?
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20110802/f603b5db/attachment.html>


Maggiori informazioni sulla lista Python