dark-Matter

py-num

Apr 14th, 2021 (edited)
595
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.50 KB | None | 0 0
  1. def fact(n, M):
  2.     ans = 1
  3.     for i in range(1, n+1):
  4.         ans = (ans*i%M)%M
  5.     return ans
  6.  
  7. def mode_inv(n, M):
  8.     return pow(n, M-2, M)
  9.  
  10. def npr(n, r, M):
  11.     return (fact(n, M)*mode_inv(fact(n-r, M), M)) % M
  12.  
  13. def ncr(n, r, M):
  14.     return (npr(n, r, M)*mode_inv(fact(r, M), M)) % M
  15.  
  16. def permute(d, M):
  17.     n = sum(list(d.values()))
  18.     ans = fact(n, M)
  19.     deno = 1
  20.     for i in d.values():
  21.         deno = (deno*fact(i, M)) % M
  22.     ans = (ans*mode_inv(deno, M)) % M
  23.     return ans
  24.  
Add Comment
Please, Sign In to add comment