Skip to content

Instantly share code, notes, and snippets.

@alexb5dh
Forked from rougier/binomial.py
Created March 28, 2017 16:19
Show Gist options
  • Save alexb5dh/c994c0dc545329ab8cc65a0cd3ca1f02 to your computer and use it in GitHub Desktop.
Save alexb5dh/c994c0dc545329ab8cc65a0cd3ca1f02 to your computer and use it in GitHub Desktop.
A fast way to calculate binomial coefficients in python (Andrew Dalke)
def binomial(n, k):
"""
A fast way to calculate binomial coefficients by Andrew Dalke.
See http://stackoverflow.com/questions/3025162/statistics-combinations-in-python
"""
if 0 <= k <= n:
ntok = 1
ktok = 1
for t in xrange(1, min(k, n - k) + 1):
ntok *= n
ktok *= t
n -= 1
return ntok // ktok
else:
return 0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment