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