numeri primi

Messaggioda lunaxv » 27/09/2003, 00:14

ciao a tutti , vorrei chiedere una cosa..

Per sapere se un numero e' primo o no, quali "astuzie" ci sono? Il Brute-Force di provare tutti i numeri da 2 a N/2 e' brutto ;)

Grazie a tutti
lunaxv
Starting Member
Starting Member
 
Messaggio: 5 di 17
Iscritto il: 22/09/2003, 17:39

Messaggioda fireball » 27/09/2003, 07:06

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:

http://www.math.it/formulario/primi.htm

ciao
fireball
fireball
Cannot live without
Cannot live without
 
Messaggio: 159 di 6906
Iscritto il: 12/03/2003, 20:35

Messaggioda lunaxv » 27/09/2003, 12:52

eh ;)
il mio progetto e' scoprire un numero primo con almeno un miliardo di cifre cosi' netprime mi offre 300 mila dollari :D

ma nn per i soldi, e' cosi' una sfida ;)

solo che devo fare un programmino che dovro distribuire alla gente per velocizzare il controllo di un numero..

Il numero verra dettato da 2^n-1 , con n molto grande..

Una volta che avro finito il programmino lo distribuiro' a chiunque lo voglia ;)
lunaxv
Starting Member
Starting Member
 
Messaggio: 6 di 17
Iscritto il: 22/09/2003, 17:39

Messaggioda goblyn » 27/09/2003, 13:10

Io tifo x te!!! così mi dai una %... <img src=icon_smile_wink.gif border=0 align=middle><img src=icon_smile_big.gif border=0 align=middle>
goblyn
Average Member
Average Member
 
Messaggio: 248 di 829
Iscritto il: 10/04/2003, 15:03

Messaggioda fireball » 27/09/2003, 13:12

Mi unisco al goblyn ...<img src=icon_smile_wink.gif border=0 align=middle><img src=icon_smile_tongue.gif border=0 align=middle>
fireball
Cannot live without
Cannot live without
 
Messaggio: 162 di 6906
Iscritto il: 12/03/2003, 20:35

Messaggioda goblyn » 27/09/2003, 13:19

comunque in questa pagina in alto clicca su cerca e scrivi numeri primi (cerca frase esatta). Troverai un po' di post sul tema! ciao
goblyn
Average Member
Average Member
 
Messaggio: 249 di 829
Iscritto il: 10/04/2003, 15:03

Messaggioda lunaxv » 27/09/2003, 13:46

hehehe grazie

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>
lunaxv
Starting Member
Starting Member
 
Messaggio: 7 di 17
Iscritto il: 22/09/2003, 17:39

Messaggioda tony » 27/09/2003, 15:01

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
tony
Average Member
Average Member
 
Messaggio: 36 di 873
Iscritto il: 10/11/2005, 23:47
Località: milano

Messaggioda Giovanni » 27/09/2003, 15:08

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.

Giovanni.
Giovanni
New Member
New Member
 
Messaggio: 14 di 56
Iscritto il: 15/08/2003, 11:41
Località: Italy

Messaggioda tony » 27/09/2003, 17:54

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) )

tony
tony
Average Member
Average Member
 
Messaggio: 37 di 873
Iscritto il: 10/11/2005, 23:47
Località: milano

Prossimo

Torna a Algebra, logica, teoria dei numeri e matematica discreta

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite