101262: [AtCoder]ABC126 C - Dice and Coin

Memory Limit:256 MB Time Limit:2 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

Score : $300$ points

Problem Statement

Snuke has a fair $N$-sided die that shows the integers from $1$ to $N$ 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 $1$ and $K-1$ (inclusive), keep flipping the coin. The score is doubled each time the coin lands heads up, and the score becomes $0$ if the coin lands tails up.
  3. The game ends when the score becomes $0$ or becomes $K$ or above. Snuke wins if the score is $K$ or above, and loses if the score is $0$.

You are given $N$ and $K$. Find the probability that Snuke wins the game.

Constraints

  • $1 ≤ N ≤ 10^5$
  • $1 ≤ K ≤ 10^5$
  • All values in input are integers.

Input

Input is given from Standard Input in the following format:

$N$ $K$

Output

Print the probability that Snuke wins the game. The output is considered correct when the absolute or relative error is at most $10^{-9}$.


Sample Input 1

3 10

Sample Output 1

0.145833333333
  • If the die shows $1$, Snuke needs to get four consecutive heads from four coin flips to obtain a score of $10$ or above. The probability of this happening is $\frac{1}{3} \times (\frac{1}{2})^4 = \frac{1}{48}$.
  • If the die shows $2$, Snuke needs to get three consecutive heads from three coin flips to obtain a score of $10$ or above. The probability of this happening is $\frac{1}{3} \times (\frac{1}{2})^3 = \frac{1}{24}$.
  • If the die shows $3$, Snuke needs to get two consecutive heads from two coin flips to obtain a score of $10$ or above. The probability of this happening is $\frac{1}{3} \times (\frac{1}{2})^2 = \frac{1}{12}$.

Thus, the probability that Snuke wins is $\frac{1}{48} + \frac{1}{24} + \frac{1}{12} = \frac{7}{48} \simeq 0.1458333333$.


Sample Input 2

100000 5

Sample Output 2

0.999973749998

Input

题意翻译

Snuke 有一个 $n$ 面的色子,投掷这个色子的时候会以相等的概率得到一个在 $1$ 到 $n$ 之间的整数。他还有一个硬币,投掷时正面朝上和反面朝上的概率相等。 现在他要用色子和硬币玩一个游戏: * 扔色子,将得到的整数作为初始分数。 * 只要这个分数在 $1$ 到 $k-1$ 之间(包含 $1$ 和 $k-1$),就扔硬币。当正面朝上时,将这一分数翻倍;否则,将分数归零。 * 分数归零或大于等于 $k$ 时,游戏结束。若分数大于等于 $k$,Snuke 获胜,否则 Snuke 失败。 给出 $n$ 和 $k$,你需要求出 Snuke 获胜的概率。

加入题单

算法标签: