UNPKG

mathball

Version:

A JavaScript library for Competitive Programming

22 lines (18 loc) 391 B
'use strict'; /* Nth Catalan Number * Function: catalan() */ var validate = require('../validation/non-negative-integer'); function binomialCoeff(n, k) { var res = 1; for (var i = 0; i < k; i++) { res = res * (n - i); res = res / (i + 1); } return res; } exports.find = function (num) { validate(num, 'catalan'); var c = binomialCoeff(2 * num, num); return c / (num + 1); };