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/C++ - Numeri primi
Forum - C/C++ - Numeri primi

Avatar
the modder (Normal User)
Newbie


Messaggi: 5
Iscritto: 09/02/2007

Segnala al moderatore
Postato alle 22:09
Lunedì, 12/02/2007
Salve a tutti. sono nuovo in questo sito e ho cominciato da poco a programmare, anche se questa passione l'ho avuta fin da quando ero piccolo...sono un autodidatta e durante degli esercizi ho riscontrato un dilemma...sapete definire un "numero primo"?come scrivere un codice che ne identifica l'inserimento?

PM Quote
Avatar
pierotofy (Admin)
Guru^2


Messaggi: 6116
Iscritto: 04/12/2003

Segnala al moderatore
Postato alle 4:38
Martedì, 13/02/2007
I numeri primi sono tutti quei numeri che sono divisibili soltanto per loro stessi e per 1, quindi potresti scrivere qualcosa simile a:

Codice sorgente - presumibilmente C++

  1. #define LIMIT 100
  2.  
  3. bool prime = true;
  4. for (int c=2; c<LIMIT; c++){
  5.   for (int d=2; d<c+1; d++){
  6.    prime = true;
  7.    if (((c % d) == 0) && (c != d)){
  8.      prime = false;
  9.      break;
  10.    }
  11.   }
  12.   if (prime) cout << c << " ";
  13. }


Ultima modifica effettuata da pierotofy il 13/02/2007 alle 4:42


Seguimi su Twitter: http://www.twitter.com/pierotofy

Fai quello che ti piace, e fallo bene.
PM Quote
Avatar
Reese (Ex-Member)
Pro


Messaggi: 179
Iscritto: 09/08/2006

Segnala al moderatore
Postato alle 13:36
Martedì, 13/02/2007
Qualcosa di piu' efficiente:
Codice sorgente - presumibilmente Delphi

  1. for (int i=3; i<=LIMIT; i+=2){
  2.   for (int j=3; j<sqrt(i); j+=2){
  3.     if (i % j) == 0) prime=false; break;
  4.   }
  5. if (prime=true){ cout << i; prime=false;}
  6. }



EDIT: non mi ricordo se break esce solo dal ciclo dove e' chiamata.

Ultima modifica effettuata da Reese il 17/02/2007 alle 12:47


Dr. Wilson: You're - you're trying to objectively measure how much I value our friendship?
Dr. Gregory House: That's five grand, you've got nothing to be ashamed of. So what do you say, one little phone call, one big check?
PM Quote
Avatar
the modder (Normal User)
Newbie


Messaggi: 5
Iscritto: 09/02/2007

Segnala al moderatore
Postato alle 13:56
Venerdì, 16/02/2007
ho capito...grazie mille!:D

PM Quote
Avatar
mind (Normal User)
Newbie


Messaggi: 7
Iscritto: 18/02/2007

Segnala al moderatore
Postato alle 14:43
Domenica, 18/02/2007
Unica aggiunta: 1 non è condiderato primo ^^
Saluti

PM Quote
Avatar
Reese (Ex-Member)
Pro


Messaggi: 179
Iscritto: 09/08/2006

Segnala al moderatore
Postato alle 17:55
Domenica, 18/02/2007
Nessuno ha detto il contrario.


Dr. Wilson: You're - you're trying to objectively measure how much I value our friendship?
Dr. Gregory House: That's five grand, you've got nothing to be ashamed of. So what do you say, one little phone call, one big check?
PM Quote