Ultima modifica:
Buon giorno ragazzi!
Voglio trovare 3 persone in una stanza che abbiano lo stesso compleanno(non contando l'anno però), e per fare ciò, stavo pensando a questo codice:
Secondo voi é giusto come ragionamento? So che probabilmente questo non é il metodo più preciso e più elegante per risolvere questo tipo di problema, ma comunque mi basta sapere se sia giusto o meno.
Voglio trovare 3 persone in una stanza che abbiano lo stesso compleanno(non contando l'anno però), e per fare ciò, stavo pensando a questo codice:
Codice:
public class Birthdayx3{
public static void main(String args[]){
int count=0; // numero delle verifiche effettuate
boolean[] birthday=new boolean[365]; //array che rappresenta i 365 giorni che ci sono in un anno
while(true){
int i=(int) (Math.random()*365);
int j=(int) (Math.random()*365);//secondo indice che servirà per trovare la terza persona
if(birthday[i]==true && i==j && birthday[i]==birthday[j]) //se birthday é già true, vuol dire che due persone
break; //con lo stesso compleanno sono state trovate
//Se però, l'elemento birthday[i] risulterà uguale
//all'elemento birthday[j] nello stesso giorno,
//una terza persona con lo stesso compleanno
//delle prime due, è stata trovata
birthday[i]=true;
count++;
}
System.out.println("After " + count+ " tries");
System.out.println("Three people with the same birthday were found");