#abc126c. [abc126_c]Dice and Coin

[abc126_c]Dice and Coin

题目描述

Snuke 有一个公平的 NN 面骰子,显示从 11NN 的整数,概率相等,并且有一个公平的硬币。他将用它们来玩以下游戏:

  1. 投掷骰子。当前分数是骰子的结果。
  2. 只要分数在 11K1K-1(包括两个边界)之间,就不停地抛硬币。每次硬币正面朝上,分数翻倍;如果硬币反面朝上,分数变为 00
  3. 游戏在分数变为 00 或者达到 KK 或以上时结束。如果分数达到 KK 或以上,Snuke 赢了;如果分数为 00,Snuke 输了。

给定 NNKK,求 Snuke 赢得游戏的概率。

约束条件

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

输入

从标准输入读取输入数据,输入格式如下:

NN KK

输出

输出 Snuke 赢得游戏的概率。当绝对误差或相对误差不超过 10910^{-9} 时,输出被视为正确。

示例输入 1

3 10

示例输出 1

0.145833333333
  • 若骰子显示 11,则 Snuke 需要在四次硬币抛掷中连续出现正面朝上以获得分数达到 1010 或以上。这种情况发生的概率为 $\\frac{1}{3} \\times (\\frac{1}{2})^4 = \\frac{1}{48}$。
  • 若骰子显示 22,则 Snuke 需要在三次硬币抛掷中连续出现正面朝上以获得分数达到 1010 或以上。这种情况发生的概率为 $\\frac{1}{3} \\times (\\frac{1}{2})^3 = \\frac{1}{24}$。
  • 若骰子显示 33,则 Snuke 需要在两次硬币抛掷中连续出现正面朝上以获得分数达到 1010 或以上。这种情况发生的概率为 $\\frac{1}{3} \\times (\\frac{1}{2})^2 = \\frac{1}{12}$。

因此,Snuke 赢得游戏的概率为 $\\frac{1}{48} + \\frac{1}{24} + \\frac{1}{12} = \\frac{7}{48} \\simeq 0.1458333333$。

示例输入 2

100000 5

示例输出 2

0.999973749998