Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from math import comb
- # Параметры задачи
- n_dice = 100 # Число кубиков
- target_sum = 346 # Целевая сумма
- sides = 6 # Число граней на кубике
- # Вычисляем коэффициент при x^346 в разложении производящей функции
- total_ways = 0 # Коэффициент для нужной суммы
- # Число полных шагов для коэффициентов кратных 6 (k)
- for k in range((target_sum - n_dice) // sides + 1):
- sign = (-1) ** k # Чередующийся знак
- ways = comb(n_dice, k) * comb(target_sum - sides * k - 1, n_dice - 1)
- total_ways += sign * ways
- # Общая вероятность
- total_outcomes = sides ** n_dice # Общее число исходов
- probability = total_ways / total_outcomes
- total_ways, probability
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement