Given an integer N, the task is to find the
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
For Example:
Central binomial coefficient of N = 3 is given by:
= = = 20
Below is the implementation of the above approach:
// 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 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 |
# 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# 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 |
<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)