Advertisement
Guest User

Untitled

a guest
Nov 24th, 2024
36
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.88 KB | None | 0 0
  1. from math import comb
  2.  
  3. # Параметры задачи
  4. n_dice = 100 # Число кубиков
  5. target_sum = 346 # Целевая сумма
  6. sides = 6 # Число граней на кубике
  7.  
  8. # Вычисляем коэффициент при x^346 в разложении производящей функции
  9. total_ways = 0 # Коэффициент для нужной суммы
  10.  
  11. # Число полных шагов для коэффициентов кратных 6 (k)
  12. for k in range((target_sum - n_dice) // sides + 1):
  13. sign = (-1) ** k # Чередующийся знак
  14. ways = comb(n_dice, k) * comb(target_sum - sides * k - 1, n_dice - 1)
  15. total_ways += sign * ways
  16.  
  17. # Общая вероятность
  18. total_outcomes = sides ** n_dice # Общее число исходов
  19. probability = total_ways / total_outcomes
  20.  
  21. total_ways, probability
  22.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement