给玩家一个公平的六面骰子。要获胜,她必须掷出大于 4 的数字(即 5 或 6)。如果她掷出 4,她必须再掷一次。她获胜的几率是多少?
我认为获胜的概率, 可以递归表示为:
我已经近似作为通过在 Java 中运行 100 万次试验,如下所示:
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;
}
}
我看到一个可以扩展像这样:
但是我不知道如何在不求助于这种近似的情况下解决这种类型的递归关系。是否可以?