The Program in C++Program to Display First 10 Catalan Numbers is given below:
#include <iostream>
#include <cmath>
using namespace std;
unsigned long long binomialCoeff(unsigned int n, unsigned int k)
{
unsigned long long res = 1;
// Since C(n, k) = C(n, n-k)
if (k > n - k)
k = n - k;
// Calculate value of [n*(n-1)*---
// *(n-k+1)] / [k*(k-1)*---*1]
for (int i = 0; i < k; ++i)
{
res *= (n - i);
res /= (i + 1);
}
return res;
}
unsigned long long catalan(unsigned int n)
{
// Calculate value of 2nCn
unsigned long long c = binomialCoeff(2*n, n);
// return 2nCn/(n+1)
return c/(n+1);
}
int main()
{
for (int i = 0; i < 10; i++)
cout << catalan(i) << " ";
return 0;
}
Output:
1 1 2 5 14 42 132 429 1430 4862
Pro-Tips💡
The binomialCoeff
function calculates the binomial coefficient, which is used in the calculation of Catalan numbers.
The function uses a loop to perform the calculation and returns the result.
The catalan
function uses the binomialCoeff
function to calculate the Catalan number and returns the result.
The calculation is performed by dividing the binomial coefficient by n + 1
.
The main
function loops through the first 10 numbers and prints the result of calling the catalan
function for each number.
The output is the first 10 Catalan numbers.
Learn C-Sharp ↗
C-sharp covers every topic to learn about C-Sharp thoroughly.
Learn C Programming ↗
C-Programming covers every topic to learn about C-Sharp thoroughly.
Learn C++ Programming↗
C++ covers every topic to learn about C-Sharp thoroughly.