Ми з друзями грали в DSA (в основному німецька RPG настільна, як D&D). Мені було цікаво, який шанс на проходження рулонів, тож вам доведеться написати якийсь код для його обчислення.
Ваш персонаж визначається статистикою (від 8 до 14) та (ТВ) значеннями талантів (від 0 до 21). Зараз ми використаємо альпінізм як приклад.
Тести талантів
Талант (лазіння) виглядає приблизно так: (Кураж-спритність-сила) Телевізор: 7. Щоб перевірити персонажа на талант, ви котитеся на цій статистиці за допомогою 20-тигранних кісток і намагайтеся опуститись нижче або дорівнювати статтю, якщо ти це добре робиш Якщо ні, ви можете використовувати свої телевізійні точки, щоб зменшити ролик у співвідношенні 1: 1.
Приклад
Мисливець з відвагою 12, спритність 13 і сила 14 намагається піднятися на дерево, його телевізор - 7.
Він закочує 3, значення нижче 12, тому він передав цей рулон.
Потім він котить 17, 17 - на 4 більше, ніж 13, тож 4 телевізора звикають із 3 лівими.
За останній рулон ви отримуєте 14, місце на пройденому.
Всі рулони проходять і мисливцеві вдалося піднятися на дерево, залишилось 3 телевізора.
Вхідні дані
4 значення у будь-якому обраному вами форматі, взяті зі стандартного введення вашої мови. Але це має бути в такому порядку.
Наприклад, 12 13 14 7
або 12,13,14,7
як масив {12,13,14,7} або змішаний[12, 14, 8], 3
Вихідні дані
Шанс того, як часто проходять рулони.
Наприклад (для значень вище)0.803
12,14,8,3 = 0.322
11,11,12,11 = 0.840
Для бонусу: Знову формулювання тут не є проблемою, виведіть її як завгодно, але в наступному порядку:
failed/with 0/with 1/with 2/with 3/with 4/with 5/with 6/with 7
і так далі, поки телебачення не залишиться.
12,13,14,7 = 0.197/0.075/0.089/0.084/0.078/0.073/0.068/0.063/0.273
12,14,8,3 = 0.678/0.056/0.051/0.047/0.168
Виклик і правила та бонус
Ви дізнаєтесь, чи є вхідний шанс пропустити рулони з точністю до 0,5%.
-20%, якщо ваша програма також видає шанси на передачу
n
телевізора (див. Вихід).Це є код-гольф, тому найкоротший код у байтах виграє!
[12, 14, 8], 3
?