[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