Ваш друг подарил вам на день рождения бесконечное количество слизней толщины 1 и 2, и вы решили поиграть, используя этих слизней.
Вы разбиваете подоконник на n ячеек и выбираете некоторое целое число p, которое будет использоваться в игре. Затем, до тех пор пока в последней ячейке нет слизня, выполняется следующая последовательность действий:
Вы играли в эту игру несколько раз, и она вам наскучила. Теперь вы хотите для данных значений n и p вычислить математическое ожидание суммы значений толщины всех слизней на подоконнике после завершения игры.
В первой строке входа будет записано два целых числа n, p (1 ≤ n ≤ 109, 1 ≤ p < 109).
Выведите математическое ожидание суммарной толщины всех слизней на доске после завершения игры. Ваш ответ будет считаться правильным, если его абсолютная или относительная ошибка не будет превосходить 10 - 4.
А именно: пусть ваш ответ равен a, а ответ жюри — b. Проверяющая программа будет считать ваш ответ правильным, если .
2 500000000
3.562500000000000
10 1
64.999983360007620
100 123456789
269.825611298854770
В первом примере подоконник разбит на две ячейки, при этом с вероятностью 0.5 мы добавляем слизня толщины 1, а с вероятностью 0.5 — толщины 2.
В конце игры подоконник может выглядеть как 1 2 с вероятностью 0.25, 2 1 с вероятностью 0.375, 3 2 с вероятностью 0.1875, 3 1 с вероятностью 0.1875. Таким образом математическое ожидание равно (1 + 2)·0.25 + (2 + 1)·0.375 + (3 + 2)·0.1875 + (3 + 1)·0.1875 = 3.5625.
Название |
---|