Um jogador recebe um dado justo de seis lados. Para vencer, ela deve rolar um número maior que 4 (ou seja, 5 ou 6). Se ela rola um 4, ela deve rolar novamente. Quais são as chances dela de ganhar?
Eu acho que a probabilidade de ganhar pode ser expressa recursivamente como:
Eu aproximada como executando 1 milhão de ensaios em Java, como este:
import java.util.Random;
public class Dice {
public static void main(String[] args) {
int runs = 1000000000;
int wins = 0;
for (int i = 0; i < runs; i++) {
wins += playGame();
}
System.out.println(wins / (double)runs);
}
static Random r = new Random();
private static int playGame() {
int roll;
while ((roll = r.nextInt(6) + 1) == 4);
return (roll == 5 || roll == 6) ? 1 : 0;
}
}
E vejo que se poderia expandir assim:
Mas não sei como resolver esse tipo de relação de recorrência sem recorrer a esse tipo de aproximação. É possível?