Skip to main content

Find the nCr value with Python.



What is nCr notation?




Hello everyone from this post you will know how to find any nCr value with Python.
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

Trending Now

Let's talk about cryptography.

Have you ever heard of cryptography?  People write their diaries every day. For many of them, their diary is one of their best friends to whom they tell their every secret. What happens when someone else finds such a diary? That would freak out the dairy's owner for sure. Also, it might put their lives in danger. Wise men always hide their diaries so no one else finds it.  But legends hide their message so that only they can read what they wrote. So even if the diary is found by someone else, they cannot know the secrets. for example, I wrote this in my diary today.   P dyval h isvn wvza hivba jyfwavnyhwof avkhf Can you understand it? This is just a very primitive level of cryptography yet powerful enough to hide what I wrote from 90% of people. I will discuss this type of cryptography in the next blog post. The human used cryptography from the very beginning to share their messages in secret and conceal their inventions. As you may know, many people tried to find a recip...

How to make a your own Discord bot with Python in 2023. #01

I'm sure that you have heard of discord bots way before reading this article. But have you ever tried to make your own bot with Python? If not, this is the time. Let's get started. Over time tons of discord bot tutorials have been published, but if you follow them they don't help you to build a functional bot because many of the packages used in them are updated and no longer support older syntaxes. Here is the full guide to creating your own Discord Bot in 2023 with Python. STEP 1: Create a Discord account First of all, we have to set up a developer account to create the bot. Actually, you can use your ordinary discord account to access the discord developer portal, but it is highly recommended to create a separate account for development purposes. You can create a new discord account with this link:  https://discord.com/register STEP 2: Create a new Application After creating the discord account, you have to go to the discord developer portal and sign in with your newly-c...