#ABC126C. Dice and Coin

Dice and Coin

题目描述

Snuke has a fair NN-sided die that shows the integers from 11 to NN with equal probability and a fair coin. He will play the following game with them:

  1. Throw the die. The current score is the result of the die.
  2. As long as the score is between 11 and K1K-1 (inclusive), keep flipping the coin. The score is doubled each time the coin lands heads up, and the score becomes 00 if the coin lands tails up.
  3. The game ends when the score becomes 00 or becomes KK or above. Snuke wins if the score is KK or above, and loses if the score is 00.

You are given NN and KK. Find the probability that Snuke wins the game.

斯努克有一个公平的 NN 面骰子和一个公平的硬币,骰子以相同的概率显示从 11NN 的整数。他将用它们玩下面的游戏:

  1. 掷骰子。当前得分就是掷骰子的结果。
  2. 只要分数在 11K1K-1 (含)之间,就继续掷硬币。每次硬币正面朝上时,分数都会翻倍,如果硬币反面朝上,分数则变为 00
  3. 当分数变成 00 或变成 KK 或以上时,游戏结束。如果分数为 KK 或以上,则 Snuke 获胜;如果分数为 00 ,则 Snuke 输。

给你 NNKK 。求斯努克赢的概率。

输入格式

输入内容按以下格式标准输入:

NN KK

输出格式

打印 Snuke 赢得比赛的概率。当绝对误差或相对误差不超过 10910^{-9} 时,输出结果被认为是正确的。

样例 #1

样例输入 #1

3 10

样例输出 #1

0.145833333333

样例 #2

样例输入 #2

100000 5

样例输出 #2

0.999973749998

说明

数据规模与约定

  • 1N1051 ≤ N ≤ 10^5
  • 1K1051 ≤ K ≤ 10^5
  • 所有输入值均为整数。

样例 11 解释

  • 如果骰子显示 11 ,斯努克需要在四次掷硬币中连续得到四个正面,才能获得 1010 或以上的分数。出现这种情况的概率是 13×(12)4=148\frac{1}{3} \times (\frac{1}{2})^4 = \frac{1}{48}
  • 如果骰子显示 22 ,斯努克需要在三次掷硬币中连续得到三个正面,才能得到 1010 或以上的分数。发生这种情况的概率是 13×(12)3=124\frac{1}{3} \times (\frac{1}{2})^3 = \frac{1}{24}
  • 如果骰子显示 33 ,斯努克需要在两次掷硬币中连续得到两个正面,才能得到 1010 或以上的分数。发生这种情况的概率是 13×(12)2=112\frac{1}{3} \times (\frac{1}{2})^2 = \frac{1}{12}

因此,斯努克获胜的概率是 $\frac{1}{48} + \frac{1}{24} + \frac{1}{12} = \frac{7}{48} \simeq 0.1458333333$ 。