The following program calculates nCr
in an efficient manner (compared to calculating factorials etc.)
import operator as op from functools import reduce def ncr(n, r): r = min(r, n-r) numer = reduce(op.mul, range(n, n-r, -1), 1) denom = reduce(op.mul, range(1, r+1), 1) return numer // denom # or / in Python 2
As of Python 3.8, binomial coefficients are available in the standard library as math.comb
:
>>> from math import comb >>> comb(10,3) 120
Related Posts:
- Is there a math nCr function in python?
- How to send an email with Python?
- numpy max vs amax vs maximum
- What do these operators mean (** , ^ , %, //)? [closed]
- What do these operators mean (** , ^ , %, //)? [closed]
- How do I define a function with optional arguments?
- Basic explanation of python functions
- What is the naming convention in Python for variable and function names?
- syntaxerror: “unexpected character after line continuation character in python” math
- TypeError: ‘float’ object is not callable
- Error: all the input array dimensions except for the concatenation axis must match exactly
- How do order of operations go on Python?
- Call a function from another file?
- What does numpy.gradient do?
- Python Calling Function from Another File
- Python: OverflowError: math range error
- How can I use numpy.correlate to do autocorrelation?
- How can I convert radians to degrees with Python?
- What is the best way to exit a function (which has no return value) in python before the function ends (e.g. a check fails)?
- IndexError: index 1 is out of bounds for axis 0 with size 1/ForwardEuler
- Infinite integer in Python
- Apply function to each element of a list
- Python return list from function
- Overflow / math range error for log or exp
- How do I find the distance between two points?
- How can I check for NaN values?
- Python – how to use the constant e^
- log2 in python math module
- What is the difference between ‘/’ and ‘//’ when used for division?
- How can I check for NaN values?
- How to stop a function
- How can I check if two segments intersect?
- Repeating a function in Python
- python3 TypeError: ‘function’ object is not iterable
- How to get a function name as a string?
- Python: Can a function return an array and a variable?
- Call Python function from JavaScript code
- function is not defined error in Python
- python math domain errors in math.log function
- How to fix ‘RuntimeWarning: divide by zero encountered in double_scalars’
- How do I compute derivative using Numpy?
- Adding +1 to a variable inside a function
- Write a program that asks the user to enter five test scores. Correspond it to a letter grade
- Function to determine if two numbers are nearly equal when rounded to n significant decimal digits
- Multiplication function with recursion in Python
- Run function from the command line
- Import Error: No module named numpy
- bash: pip: command not found
- Function for Factorial in Python
- TypeError: a bytes-like object is required, not ‘str’ when writing to a file in Python3
- Writing a pandas DataFrame to CSV file
- DataFrame constructor not properly called! error
- OSError: [WinError 193] %1 is not a valid Win32 application
- How to download a file over HTTP?
- Can’t fix “zipimport.ZipImportError: can’t decompress data; zlib not available” when I type in “python3.6 get-pip.py”
- Arrays used as indices must be of integer (or boolean) type
- Get total of Pandas column
- How do you read from stdin?
- Union of two lists in Python
- Type error: cannot convert the series to
- Reading a binary file with python
- Pandas – DataFrame object is not callable
- Start with pyglet or pygame?
- Django 2.1.3 Error: __init__() takes 1 positional argument but 2 were given
- Python error load JSON code of google API
- How to convert IPython notebooks to PDF and HTML?
- ‘Jupyter’ is not recognized as an internal or external command
- How to print spaces in Python?
- installing urllib in Python3.6
- Convert categorical data in pandas dataframe
- pandas create new column based on values from other columns / apply a function of multiple columns, row-wise
- Parsing HTML using Python
- How can I install the latest Anaconda with wget
- sqlite3.ProgrammingError: Incorrect number of bindings supplied. The current statement uses 1, and there are 74 supplied
- “SyntaxError: non-keyword arg after keyword arg” Error in Python when using requests.post()
- Flask Error: “Method Not Allowed The method is not allowed for the requested URL”
- Pandas error “Can only use .str accessor with string values”
- matplotlib: how to draw a rectangle on image
- How to install PyGame on Python 3.4?
- ImportError: No module named ‘cv2’ Python3
- bbox_to_anchor and loc in matplotlib
- Python 101: Can’t open file: No such file or directory
- super() fails with error: TypeError “argument 1 must be type, not classobj” when parent does not inherit from object
- Appending values to dictionary in Python
- Pandas: sum up multiple columns into one column without last column
- How to prettyprint a JSON file?
- How to load all modules in a folder?
- install csv package in pycharm
- How to print the full NumPy array, without truncation?
- dump() missing 1 required positional argument: ‘fp’ in python json
- TypeError: module.__init__() takes at most 2 arguments (3 given)
- coercing to Unicode: need string or buffer, NoneType found when rendering in django admin
- Python cant convert ‘list’ object to str error [closed]
- Failed building wheel for Twisted in Windows 10 python 3
- Simplify Chained Comparison
- How to get POSTed JSON in Flask?
- How to fix SSL issue SSL_CTX_use_certificate : ca md too weak on Python Zeep
- Paramiko’s SSHClient with SFTP
- Package libffi was not found in the pkg-config search path REDHAT6.5
- Line is too long. Django PEP8