<div class="gmail_quote">Il giorno 02 agosto 2011 17:49, matteo <span dir="ltr"><<a href="mailto:matteo.web73@gmail.com">matteo.web73@gmail.com</a>></span> ha scritto:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

  
    
  
  <div bgcolor="#FFFFFF" text="#000000">import math<br>
    def primi(N):<br>
    <br>
        """ Print first N prime numbers """<br>
        <br>
        primes=[2]<br>
        x=3<br>
        while x<N:<br>
           valid=True<br>
           for divi in primes[:int(math.sqrt(x))]:<br>
              if x%divi==0:<br>
                 valid=False<br>
                 break<br>
           if valid:<br>
              primes.append(x)<br>
           x=x+2<br>
        return primes<br>
    <br>
    ecco ;) è sempliciotto, ma gia ho pensato a qualcosa per
    migliorarlo, voi che ne pensate?<br>
  </div>

<br>_______________________________________________<br>
Python mailing list<br>
<a href="mailto:Python@lists.python.it">Python@lists.python.it</a><br>
<a href="http://lists.python.it/mailman/listinfo/python" target="_blank">http://lists.python.it/mailman/listinfo/python</a><br>
<br></blockquote></div><br>Qualche idea:<div>- non occorre mettere il 2 fin da subito nella lista dei primi dato che poi, incrementando di 2 ottieni sempre numeri dispari.</div><div>- l'istruzione: primes[:int(math.sqrt(x))] costruisce, ogni volta che viene chiamata, una nuova lista. Dovresti riuscire a far fare il ciclo in questo modo:  for divi in primes: ... </div>
<div>- sostituire l'operazione % con la funzione divmod può permetterti di evitare la radice quadrata.</div><div>- non dovrebbe neppure essere un grosso problema evitare l'uso della variabile isvalid.</div><div><br>
</div><div>Io proverei i tempi con questi cambiamenti, per avere ulteriori miglioramenti bisogna, penso, impostare l'algoritmo in modo diverso utilizzando le istruzioni di Python di trattamento delle liste.</div><div>
<br></div><div>Prova e facci sapere dei miglioramenti nei tempi<br clear="all"><br>-- <br><br>Daniele<br><br><a href="http://www.fugamatematica.blogspot.com">www.fugamatematica.blogspot.com</a><br><br>    giusto!<br>    nel verso<br>
    forse è perché non guardiamo le cose<br>    Quando non ci capiamo,<br><br>
</div>