Mailing List del Fortunae LUG ============================= > > Non so... dimmi cos'hai capito. > > numeri primi? Si. Dunque non ho trovato la dimostrazione matematica per cui basterebbe scorrere fino a sqrt(h) e non ho avuto voglia di pensarci :-) Però pare funzionare. Comunque sia ci sono un sacco di trucchetti da implementare nell'algoritmo per renderlo più veloce (primo fra tutti saltare tutti i numeri pari... ponendo l'incremento a +2 per numeri >= 3). Ti basti sapere che chi ci lavora sul serio su queste cose... come Chongo (http://www.isthe.com/chongo/index.html una pagina assolutamente da visitare... sto tizio è un mito!!!!) per esempio usano GIMPS che usa delle librerie matematiche a 64 bit o più (che però girano sui 32bit... cosa rullante... bei trucchetti in asm). Il numero primo più grande scoperto al momento è (2^13466917)-1. (e non è stato scoperto grazie alla mia sign :-) C'è un altro teorema che dice che basta controllare che un numero non sia divisibile solo per i numeri primi che lo precedono. E un sacco di altri trucchetti. Il mio algoritmo rispetto a queste raffinatezze è un brute-force... non si scoprono così i numeri primi :-) Diciamo che era l'implementazione papale papale della definizione di numero primo... e come spesso accade in questo genere di cose l'implementazione della definizione non è l'algoritmo più performante. Quello che volevo comunicare era "il concetto di numero primo"... non l'algoritmo performante per trovarli. Comunque sia, detto questo... grazie del suggerimento... vedrò se riesco a farla "pareggiare" con i sqrt(h) al posto dei h/2 ;-) PS. Se trovi la dimostrazione matematica del perchè, o se sai spiegarmelo a parole tue... mi farebbe piacere. Simon. -- Bill Gates : "No! Nel nostro software non ci sono bug significativi che un numero significativo di utenti vuol vedere corretti."