# Calculate nCr using Pascal’s Triangle

A useful application of Pascal’s triangle is the calculation of combinations. The formula to find ** ^{n}C_{r}** is

**n! / r! * (n – r)!**which is also the formula for a cell of Pascal’s triangle.

Input:n = 5, r = 3

Output:10

n! / r! * (n – r)! = 5! / 3! * (2!) = 120 / 12 = 10

Input:n = 7, r = 2

Output:21

**Approach:** The idea is to store the Pascal’s triangle in a matrix then the value of ** ^{n}C_{r}** will be the value of the cell at

**n**row and

^{th}**r**column.

^{th}Below is the implementation of the above approach:

`# Python3 implementation of the approach ` ` ` `# Initialize the matrix with 0 ` `l ` `=` `[[` `0` `for` `i ` `in` `range` `(` `1001` `)] ` `for` `j ` `in` `range` `(` `1001` `)] ` ` ` `def` `initialize(): ` ` ` ` ` `# 0C0 = 1 ` ` ` `l[` `0` `][` `0` `] ` `=` `1` ` ` `for` `i ` `in` `range` `(` `1` `, ` `1001` `): ` ` ` ` ` `# Set every nCr = 1 where r = 0 ` ` ` `l[i][` `0` `] ` `=` `1` ` ` `for` `j ` `in` `range` `(` `1` `, i ` `+` `1` `): ` ` ` ` ` `# Value for the current cell of Pascal's triangle ` ` ` `l[i][j] ` `=` `(l[i ` `-` `1` `][j ` `-` `1` `] ` `+` `l[i ` `-` `1` `][j]) ` ` ` `# Function to return the value of nCr ` `def` `nCr(n, r): ` ` ` ` ` `# Build the Pascal's triangle ` ` ` `initialize() ` ` ` ` ` `# Return nCr ` ` ` `return` `l[n][r] ` ` ` `# Driver code ` `n ` `=` `8` `r ` `=` `3` `print` `(nCr(n, r)) ` |

*chevron_right*

*filter_none*

**Output:**

56

## Recommended Posts:

- Program to calculate the Area and Perimeter of Incircle of an Equilateral Triangle
- Biggest Reuleaux Triangle within a Square which is inscribed within a Right angle Triangle
- Biggest Reuleaux Triangle inscribed within a Square inscribed in an equilateral triangle
- Program to calculate value of nCr
- Calculate the Discriminant Value
- C program to calculate the value of nPr
- Program to calculate the value of sin(x) and cos(x)
- Program to calculate the value of nCr Efficiently
- Efficient program to calculate e^x
- Write a program to calculate pow(x,n)
- Calculate area of pentagon with given diagonal
- Program to calculate GST from original and net prices
- Calculate speed, distance and time
- Program to calculate distance between two points in 3 D
- Program to calculate Profit Or Loss

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.