Un numero si definisce primo se è divisibile solo per 1 e per se stesso.
Un metodo per verificarlo è scomporre il numero in fattori primi; esempio: prendiamo il numero 35: esso è dato da 7*5 (che sono entrambi numeri primi); ora prendiamo il numero 37: questo è divisibile solo per se stesso e per uno e pertanto non è scomponibile. Conclusione: il numero 37 è primo.
In molti libri di testo delle scuole medie e superiori dovrebbero esserci delle tavole con tutti i numeri primi; ce ne è una anche in rete, molto ben fatta, che si trova al seguente indirizzo:
cmq quando ho finito il programmino lo linko su un post cosi' chi vuole puo' tenerlo un po' acceso quando vuole <img src=icon_smile_big.gif border=0 align=middle>
Mi pare che il brute-force possa essere arrestato a sqrt(n), invece che a n/2.
Ad es. per analizzare 100.000.001 mi fermerei a 10.000, o meglio a 10001, senza continuare fino a 50.000.000.
Ciao a tutti.
Tony
Ciao a tutti
I numeri primi nella forma 2^n-1 con n=numero primo sono i numeri di Mersenne ed esiste un progetto, il progetto G.I.M.P.S., che lavora a questa ricerca.
Il programma esiste già, lo puoi trovare all'indirizzo www.gimps.it Registrandoti puoi partecipare anche tu alla ricerca.
Rettifico il mio msg di poco fa.
Mi è scappato un errore: la cifra 10001 va letta 10007.
Cioé: per trovare con forza bruta i primi fino a 100 milioni
basta ] generare i primi 2, 3, 5, ..., 10007 (che è il primo primo maggiore di sqrt(10^8) )