PROJECT EULER · #0863
不同的骰子
Different Dice
仅使用六面公平骰子和五面公平骰子,我们想模拟
例如,模拟 28 面骰子的一种方法是遵循以下过程:
- 掷两个骰子,获得整数
和 。 - 使用
将它们组合起来以获得整数 。 - 如果
,则返回值 并停止。 - 否则(
为 29 或 30),再次掷骰子,获得整数 和 。 - 计算
以获得整数 。 - 如果
,则返回值 并停止。 - 否则(
),掷两次六面骰子,获得整数 和 。 - 计算
以获得整数 。 - 如果
,则返回值 并停止。 - 否则(使用
),分配 并返回到步骤 7。
按照此过程,预计掷骰子的次数为 2.142476(四舍五入到小数点后 6 位)。请注意,同时掷两个骰子仍算作两次骰子掷。
还有其他更复杂的程序来模拟 28 面骰子,需要较少的平均骰子掷数。然而,上述过程有一个吸引人的特性,即掷骰子的顺序是预先确定的:无论结果如何,它都遵循(D5,D6,D5,D6,D6,D6,D6,...),在过程停止的地方被截断。事实上,在具有此限制的
将
设
查找
题解待补充
这道题的题目已收录,解题思路、代码和答案将在后续补充。