Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Volevo provare a simulare il problema di Mèrè http://x86.altervista.org/pascal-de-mere-e-i-dadi/ Volevo calcolare le probabilità di 2 eventi:
- lanciando 4 volte un dado esce 6 almeno una volta
- lanciando 24 volte una coppia di dadi esce almeno una coppia di 6
Nel primo caso la probabilità è di circa il 51%, nel secondo del 49%.
In pratica l'algoritmo per il caso 1 è questo:
Codice sorgente - presumibilmente Algoritmi
p1 <-0
per i<-1 to numero_di_lanci
A = array di 4 numeri interi casuali compresi tra 1 e 6
se 6 in A allora p1 <- p1+1
risultato = pi/numero_di_lanci
Il risultato combacia con la prob teorica
Per il secondo caso invece
Codice sorgente - presumibilmente Algoritmi
p2 <- 0
per i<-1 to numero_di_lanci
A = array di 24 coppie di int casuali compresi tra 1 6
// Cioè una cosa del tipo [[1,1],[2,4],[1,9]...]
per ogni coppia in A
se coppia[1]=6 e coppia[2]=6 allora p2 <- p2+1
risultato = p2/numero_di_lanci
In questo caso però ottengo una prob di circa il 66%. Dov'è l'errore?
ringrazio anticipatamente
Ho risolto. Il fatto è che il programma "contava" le coppie di 6, mentre in teoria avrebbe dovuto solo verificare che ce ne fossero o no. In pratica basta aggiungere un semplice break
Codice sorgente - presumibilmente Algoritmi
p2 <- 0
per i<-1 to numero_di_lanci
A = array di 24 coppie di int casuali compresi tra 1 6