玩家将获得公平的六面骰子。为了赢球,她必须掷出大于4的数字(即5或6)。如果她掷4,则必须再次掷。她获胜的几率是多少?
我认为赢得的概率可以递归表示为:
通过在Java中运行一百万次试验,我将为,如下所示:
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;
}
}
而且我看到可以像这样扩展:
但是我不知道如何不借助这种近似来解决这种递归关系。可能吗?