Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - [VB.NET 2008] Numeri primi?
Forum - C# / VB.NET - [VB.NET 2008] Numeri primi?

Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 1:00
Giovedì, 01/01/1970
Questo topic è stato chiuso dal moderatore

Salve,
scusate se vi rompo ancora, ma come posso fare per determinare se un determinato numero è un numero primo?
Grazie anticipatamente!

PM
Avatar
manvb.net (Member)
Guru


Messaggi: 663
Iscritto: 28/01/2008

Segnala al moderatore
Postato alle 12:49
Giovedì, 25/06/2009
Ponendo che il numero sia n:

fai un for che va da 2 a sqrt(n)  'sqrt(n) = Radice quadrata di n
controlli che n sia divisibile per il numero corrente
se lo è non è un numero primo

Per controllare la divisibilità puoi fare:

if (n mod numero_corrente) = 0 then


"E' facile distruggere, la vera sfida è creare!"(cit. me)

"Ricordati chi sei, non permettere a nessuno di cambiarti, non perdere mai te stesso. Farai grandi cose nella vita."(cit. me)

double penetration; //ouch
PM
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 13:30
Giovedì, 25/06/2009
Testo quotato

Postato originariamente da manvb.net:

Ponendo che il numero sia n:

fai un for che va da 2 a sqrt(n)  'sqrt(n) = Radice quadrata di n
controlli che n sia divisibile per il numero corrente
se lo è non è un numero primo

Per controllare la divisibilità puoi fare:

if (n mod numero_corrente) = 0 then



sinceramente non c'ho capito molto...
potresti postare il codice completo, perfavore?:-?

PM
Avatar
manvb.net (Member)
Guru


Messaggi: 663
Iscritto: 28/01/2008

Segnala al moderatore
Postato alle 13:36
Giovedì, 25/06/2009
Io to ho dato l'algoritmo non è che ci voleva tanto a trasformarlo in codice:
Codice sorgente - presumibilmente VB.NET

  1. dim n as integer = 11 'Numero di cui vuoi verificare la primalità
  2. dim i as integer = 0 'Variabile contatore
  3. dim primo as boolean = true 'Variabile che conterrà il risultato
  4. For i = 2 to cint(Math.Sqrt(n))
  5. if (n mod i) = 0 then
  6. primo = false
  7. exit for
  8. end if
  9. next



Ora in primo hai true se è primo altrimenti false

Ultima modifica effettuata da manvb.net il 25/06/2009 alle 13:38


"E' facile distruggere, la vera sfida è creare!"(cit. me)

"Ricordati chi sei, non permettere a nessuno di cambiarti, non perdere mai te stesso. Farai grandi cose nella vita."(cit. me)

double penetration; //ouch
PM
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 13:47
Giovedì, 25/06/2009
Grazie 1000!!!:k:

per chi volesse ho allegato un progetto di uno stupido progamma che calcola tutti i numeri primi da 1 a infinito!!!:D


ha allegato un file: Numeri Primi.zip (59946 bytes)
Clicca qui per scaricare il file
PM