Program to calculate value of nCr

Following are common definition of Binomial Coefficients.

  1. A binomial coefficient C(n, k) can be defined as the coefficient of X^k in the expansion of (1 + X)^n.
  2. A binomial coefficient C(n, k) also gives the number of ways, disregarding order, that k objects can be chosen from among n objects; more formally, the number of k-element subsets (or k-combinations) of an n-element set.

Given two numbers n and r, find value of nCr

Examples :

Input :  n = 5, r = 2
Output : 30
The value of 5C2 is 10

Input : n = 3, r = 1
Output : 3


The idea is simply based on below formula.

nCr = (n!) / (r! * (n-r)!)

C++

// CPP program To calculate The Value Of nCr
#include <bits/stdc++.h>
using namespace std;
  
int fact(int n);
  
int nCr(int n, int r)
{
    return fact(n) / (fact(r) * fact(n - r));
}
  
// Returns factorial of n
int fact(int n)
{
    int res = 1;
    for (int i = 2; i <= n; i++)
        res = res * i;
    return res;
}
  
// Driver code
int main()
{
    int n = 5, r = 3;
    cout << nCr(n, r);
    return 0;
}

Java

// Java program To calculate 
// The Value Of nCr
class GFG {
  
static int nCr(int n, int r)
{
    return fact(n) / (fact(r) *
                  fact(n - r));
}
  
// Returns factorial of n
static int fact(int n)
{
    int res = 1;
    for (int i = 2; i <= n; i++)
        res = res * i;
    return res;
}
  
// Driver code
public static void main(String[] args)
{
    int n = 5, r = 3;
    System.out.println(nCr(n, r));
}
}
  
// This code is Contributed by
// Smitha Dinesh Semwal.

Python 3

# Python 3 program To calculate 
# The Value Of nCr
  
def nCr(n, r):
  
    return (fact(n) / (fact(r) 
                * fact(n - r)))
  
# Returns factorial of n
def fact(n):
  
    res = 1
      
    for i in range(2, n+1):
        res = res * i
          
    return res
  
# Driver code
n = 5
r = 3
print(int(nCr(n, r)))
  
# This code is contributed
# by Smitha

C#

// C# program To calculate 
// The Value Of nCr
using System;
  
class GFG {
  
static int nCr(int n, int r)
{
   return fact(n) / (fact(r) *
                 fact(n - r));
}
  
// Returns factorial of n
static int fact(int n)
{
    int res = 1;
    for (int i = 2; i <= n; i++)
        res = res * i;
    return res;
}
  
   // Driver code
   public static void Main()
   {
      int n = 5, r = 3;
      Console.Write(nCr(n, r));
   }
}
  
// This code is Contributed by nitin mittal.

PHP

<?php
// PHP program To calculate
// the Value Of nCr
  
  
function nCr( $n, $r)
{
    return fact($n) / (fact($r) * 
                  fact($n - $r));
}
  
// Returns factorial of n
function fact( $n)
{
    $res = 1;
    for ( $i = 2; $i <= $n; $i++)
        $res = $res * $i;
    return $res;
}
  
    // Driver code
    $n = 5;
    $r = 3;
    echo nCr($n, $r);
      
// This code is contributed by vt_m.
?>

Output:

10

More Efficient Solutions:
Dynamic Programming | Set 9 (Binomial Coefficient)
Space and time efficient Binomial Coefficient

All Articles on Binomial Coefficient



My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

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.