stop_at очков, он тянет из мешка фишку и прибавляет её номинал к счёту. Номинал каждой фишки — случайное целое число от 1 до max_step, все значения равновероятны, вытягивания независимы друг от друга.
Как только счёт достигает stop_at или больше, игрок останавливается.
Верните вероятность того, что итоговый счёт окажется не больше cap. Ответ принимается с точностью до 10⁻⁵.cap=4, stop_at=1, max_step=8 → 0.5
Игрок тянет ровно одну фишку: из 8 равновероятных значений подходят 1, 2, 3, 4 — шанс 4/8 = 0.5.
cap=3, stop_at=2, max_step=2 → 1.0
Первая фишка 2 (шанс 1/2) — игра окончена на 2. Первая 1, затем 1 или 2 — итог 2 или 3. Счёт никогда не превышает 3, шанс 1.0.
cap=2, stop_at=2, max_step=2 → 0.75
Плохой исход один: сначала 1, затем 2 — итог 3. Его шанс 1/2 · 1/2 = 0.25, поэтому ответ 0.75.
cap=4, stop_at=1, max_step=8
0.5
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 66 тестов на сервере, включая скрытые.