Oppure

Loading
12/02/07 21:09
the modder
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?
aaa
13/02/07 3:38
pierotofy
I numeri primi sono tutti quei numeri che sono divisibili soltanto per loro stessi e per 1, quindi potresti scrivere qualcosa simile a:

#define LIMIT 100

bool prime = true;
for (int c=2; c<LIMIT; c++){
  for (int d=2; d<c+1; d++){
   prime = true;
   if (((c % d) == 0) && (c != d)){
     prime = false;
     break;
   }
  }
  if (prime) cout << c << " ";
}
Ultima modifica effettuata da pierotofy 13/02/07 3:42
Il mio blog: piero.dev
13/02/07 12:36
Reese
Qualcosa di piu' efficiente:
for (int i=3; i<=LIMIT; i+=2){
  for (int j=3; j<sqrt(i); j+=2){
    if (i % j) == 0) prime=false; break;
  }
if (prime=true){ cout << i; prime=false;}
}


EDIT: non mi ricordo se break esce solo dal ciclo dove e' chiamata.
Ultima modifica effettuata da Reese 17/02/07 11:47
aaa
16/02/07 12:56
the modder
ho capito...grazie mille!:D
aaa
18/02/07 13:43
mind
Unica aggiunta: 1 non è condiderato primo ^^
Saluti
aaa
18/02/07 16:55
Reese
Nessuno ha detto il contrario.
aaa