What is nCr notation?
For those who don't know what nCr is, it is a standard notation in mathematics defined as shown below.
This notation is widely used in permutations and combination fields and binomial expansion. Even though we can use the Pascal Triangle to expand binomials it is easier to use the binomial theorem which uses the nCr notation.
The n! stands for the product of the numbers from 1 to n which is called the factorial of n.
The factorial is defined only for positive integers and 0.
The factorial of 0 equals 1
The factorial of negative integers is not defined.
Calculate the nCr Value.
When you are provided with two values (n & r) you can use the above equation to calculate their nCr value.
For instance, if you want to find 2C1 you can follow the steps below.
With Python.....
As shown above you can calculate any nCr value. But when the number increases it becomes harder to calculate and simplify.
So we can get all the hard work done by Python.
The easy way...
Python's in-built math library provides you with a simple method to calculate the nCr values. Look it works.
import math
print(math.comb(10,5))
it is just one line.
The hard way...
You can write your own function to calculate the nCr values without the support of the math library.
You have to write your own function to find the factorial or use the factorial function provided by the math library.
With the function provided by the math library
import math
def ncr(n,r):
ncr = math.factorial(n)/(math.factorial(n-r)*math.factorial(r))
return ncr
Write your own function to calculate the factorials.
def factorial(n):
factorial = 1
for x in range(1, n+1):
factorial = factorial*x
return factorial
Then use it instead of the one, provided by the library.
def factorial(n):
factorial = 1
for x in range(1, n+1):
factorial = factorial*x
return factorial
def ncr(n,r):
ncr = factorial(n)/(factorial(n-r)*factorial(r))
return ncr
print(ncr(6,4))
That's all hope you like it.
Don't forget to share.....
Comments
Post a Comment