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
- SyntaxError: unexpected EOF while parsing
- How do I lowercase a string in Python?
- How do I copy a file in Python?
- How can I reverse a list in Python?
- Manually raising (throwing) an exception in Python
- How do I copy a file in Python?
- can’t multiply sequence by non-int of type ‘float’
- Difference between del, remove, and pop on lists
- How can I reverse a list in Python?
- How to use the pass statement
- How to use filter, map, and reduce in Python 3
- What does enumerate() mean?
- Searching the student-t distribution table for values using python
- How to declare an array in Python?
- Does Python have a ternary conditional operator?
- Use Gif Logo For Loading Screen In Kivy
- Praw & Discord.py: The bot keep sending the same meme. I want the bot to send different meme whenever it is asked
- Pig Latin Translator
- What is the difference between Python’s list methods append and extend?
- How can I make a time delay in Python? [duplicate]
- Python – TypeError: ‘int’ object is not iterable
- TypeError: ‘int’ object is not subscriptable
- sphinx.ext.autodoc: Keeping names of constants in signature
- are there dictionaries in javascript like python?
- How do you round UP a number?
- Understanding slice notation
- Iterating over dictionaries using ‘for’ loops
- How to define a two-dimensional array?
- how to sort pandas dataframe from one column
- Why am I seeing “TypeError: string indices must be integers”?
- How do you round UP a number?
- Understanding slice notation
- TypeError: only integer scalar arrays can be converted to a scalar index with 1D numpy indices array
- How do I update\upgrade pip itself from inside my virtual environment?
- How to open a file using the open with statement
- How to emulate a do-while loop?
- How do I update\upgrade pip itself from inside my virtual environment?
- How to comment out a block of code in Python [duplicate]
- Microsoft Visual C++ 14.0 is required (Unable to find vcvarsall.bat)
- Using “with open() as file” method, how to write more than once? [duplicate]
- TypeError: list indices must be integers or slices, not str
- Why there is no do while loop in python
- How do I get a substring of a string in Python?
- How do I sort a dictionary by value?
- ImportError: DLL load failed: The specified module could not be found
- How do I sort a dictionary by value?
- How to prettyprint a JSON file?
- What does the “yield” keyword do?
- ImportError: DLL load failed: The specified module could not be found
- Replacements for switch statement in Python?
- How to install pip with Python 3?
- What is the difference between rw+ and r+
- What does ** (double star/asterisk) and * (star/asterisk) do for parameters?
- Renaming column names in Pandas