Computes the row of the given order in Catalan's triangle.

View versions (1)

Interface

#include <codecogs/maths/combinatorics/sequences/catalan_triangle_row.h>

using namespace Maths::Combinatorics::Sequences;

The recurrent formula used to generate Catalan's triangle is

C(0, 0) = 1 \qquad C(i, 0) = 1 \qquad C(i, j) = 0, \quad \forall i < j
(1)
C(i, j) = C(i, j - 1) + C(i - 1, j)
(2)

The number found at C(i, i) represents the Catalan number of order i.

Parameters

first
Default value = true

Returns

the row of order n in Catalan's triangle, as a standard C++ vector

Example:

#include <codecogs/maths/combinatorics/sequences/catalan_triangle_row.h>
#include <iostream>
int main() {
  std::vector<int> row = Maths::Combinatorics::Sequences::catalan_triangle_row(6);
  std::cout << "Length of row: " << row.size() << std::endl;
  for (int i = 0; i < row.size(); i++)
    std::cout << row[i] << "  ";
  std::cout << std::endl;
  return 0;
}

Output:

Length of row: 7
1  6  20  48  90  132  132

References

SUBSET, a combinatorial functions library created in C++, http://www.csit.fsu.edu/~burkardt/cpp_src/subset/subset.html

GPL Licence — free for non commercial use. See Licence details.