Central binomial coefficient
Given an integer N, the task is to find the Central binomial coefficient.
The first few Central binomial coefficients for N = 0, 1, 2, 3… are
1, 2, 6, 20, 70, 252, 924, 3432…..
Examples:
Input: N = 3
Output: 20
Explanation:Central Binomial Coefficient =
=
=
= 20
Input: N = 2
Output: 6
Approach: The central binomial coefficient is a binomial coefficient of the form . The Binomial Coefficient
can be computed using this approach for a given value N using Dynamic Programming.
For Example:
Central binomial coefficient of N = 3 is given by:
=
=
= 20
Below is the implementation of the above approach:
C++
// C++ implementation to find the // Nth Central Binomial Coefficient #include<bits/stdc++.h> using namespace std; // Function to find the value of // Nth Central Binomial Coefficient int binomialCoeff( int n, int k) { int C[n + 1][k + 1]; int i, j; // Calculate value of Binomial // Coefficient in bottom up manner for (i = 0; i <= n; i++) { for (j = 0; j <= min(i, k); j++) { // Base Cases if (j == 0 || j == i) C[i][j] = 1; // Calculate value // using previously // stored values else C[i][j] = C[i - 1][j - 1] + C[i - 1][j]; } } return C[n][k]; } // Driver Code int main() { int n = 3; int k = n; n = 2*n; cout << binomialCoeff(n, k); } |
Java
// Java implementation to find the // Nth Central Binomial Coefficient class GFG{ // Function to find the value of // Nth Central Binomial Coefficient static int binomialCoeff( int n, int k) { int [][] C = new int [n + 1 ][k + 1 ]; int i, j; // Calculate value of Binomial // Coefficient in bottom up manner for (i = 0 ; i <= n; i++) { for (j = 0 ; j <= Math.min(i, k); j++) { // Base Cases if (j == 0 || j == i) C[i][j] = 1 ; // Calculate value // using previously // stored values else C[i][j] = C[i - 1 ][j - 1 ] + C[i - 1 ][j]; } } return C[n][k]; } // Driver Code public static void main(String[] args) { int n = 3 ; int k = n; n = 2 * n; System.out.println(binomialCoeff(n, k)); } } // This code is contributed by Ritik Bansal |
Python3
# C# implementation to find the # Nth Central Binomial Coefficient # Function to find the value of # Nth Central Binomial Coefficient def binomialCoeff(n, k): C = [[ 0 for j in range (k + 1 )] for i in range (n + 1 )] i = 0 j = 0 # Calculate value of Binomial # Coefficient in bottom up manner for i in range (n + 1 ): for j in range ( min (i, k) + 1 ): # Base Cases if j = = 0 or j = = i: C[i][j] = 1 # Calculate value # using previously # stored values else : C[i][j] = (C[i - 1 ][j - 1 ] + C[i - 1 ][j]) return C[n][k] # Driver code if __name__ = = '__main__' : n = 3 k = n n = 2 * n print (binomialCoeff(n, k)) # This code is contributed by rutvik_56 |
C#
// C# implementation to find the // Nth Central Binomial Coefficient using System; class GFG{ // Function to find the value of // Nth Central Binomial Coefficient static int binomialCoeff( int n, int k) { int [,]C = new int [n + 1, k + 1]; int i, j; // Calculate value of Binomial // Coefficient in bottom up manner for (i = 0; i <= n; i++) { for (j = 0; j <= Math.Min(i, k); j++) { // Base Cases if (j == 0 || j == i) C[i, j] = 1; // Calculate value // using previously // stored values else C[i, j] = C[i - 1, j - 1] + C[i - 1, j]; } } return C[n, k]; } // Driver Code public static void Main() { int n = 3; int k = n; n = 2 * n; Console.Write(binomialCoeff(n, k)); } } // This code is contributed by Code_Mech |
Javascript
<script> // Javascript implementation to find the // Nth Central Binomial Coefficient // Function to find the value of // Nth Central Binomial Coefficient function binomialCoeff(n, k) { var C = Array.from(Array(n+1),()=> Array(k+1)); var i, j; // Calculate value of Binomial // Coefficient in bottom up manner for (i = 0; i <= n; i++) { for (j = 0; j <= Math.min(i, k); j++) { // Base Cases if (j == 0 || j == i) C[i][j] = 1; // Calculate value // using previously // stored values else C[i][j] = C[i - 1][j - 1] + C[i - 1][j]; } } return C[n][k]; } // Driver Code var n = 3; var k = n; n = 2*n; document.write( binomialCoeff(n, k)); </script> |
Output:
20
Time Complexity: O(N * K)
Auxiliary Space: O(N * K)
Please Login to comment...