#Lutece3410. 无限面骰
无限面骰
Description
Alice 和 Bob 正在享受一款充满随机性的桌游。在游戏过程中,骰子常被用来决定各种随机事件的结果。不巧的是,他们只带了一枚 面骰子,但有时游戏规则需要用到另一种规格为 面的骰子。为了解决这个问题,他们可以通过多次投掷 面骰子,将各次投掷的结果组合起来,构造出一个均匀分布的 面骰子。
你的任务是帮助他们设计一种方案,使得模拟出的 面骰子的每个面出现的概率相等,并且在保证均匀性的前提下,使所需投掷次数的期望值最小。
Input
一行两个整数 (),表示 Alice 和 Bob 拥有的骰子的面数和他们希望模拟的骰子的面数。
Output
输出一个浮点数,表示最小的期望投掷次数。
如果你的输出与答案之间的绝对误差或相对误差不超过 ,则认为你的输出正确。
Samples
6 2
1.0000000000
6 9
2.0000000000
6 20
2.5333333333
Note
第一组样例中,可以投掷一次六面骰,结果为 时当作 ,结果为 时当作 ,这样我们就成功模拟了一个二面骰。
第二组样例中,可以投掷两次六面骰,这样共有 种等概率的情况,我们可以把每四种情况对应为九面骰中的其中一面,这样就成功模拟了一个九面骰。
Resources
The 23rd UESTC Programming Contest Final