Lobb Number in C++
In this article, we will learn about Lobb Numbers and how to find Lobb Number of m,n in C++.
What is Lobb Number?
Lobb number (Lm,n) calculates the number of ways that n+m open parentheses and n-m close parentheses can be positioned to form the start of a valid sequence of balanced parentheses. Lobb number is defined by two non-negative integers m and n, where n ≥ m ≥ 0. (m, n)th Lobb number is given by the equation.
Lobb Number in C++
1. Create a function binomialCoeff to calculate the binomial coefficient(2*n, m+n).
2. Now Directly apply the formula ((2*m+1) * binomialCoeff(2*n, m+n))/(m+n+1);
#include <iostream>
using namespace std;
int binomialCoeff(int n, int k){
int coeff[n+1][k+1];
for (int i=0; i<=n; i++){
for (int j=0; j<=min(i, k); j++){
if (j == 0 || j == i)
coeff[i][j] = 1;
else
coeff[i][j] = coeff[i-1][j-1] + coeff[i-1][j];
}
}
return coeff[n][k];
}
int lobb_number(int n, int m){
return ((2*m+1) * binomialCoeff(2*n, m+n))/(m+n+1);
}
int main(){
int m, n;
cout << "Enter the n value: ";
cin >> n;
cout << "Enter the m value: ";
cin >> m;
cout << lobb_number(n, m) << endl;
return 0;
}
Enter the n value: 6 Enter the m value: 4 54
Also, read
Leave a Reply