mathball
Version:
A JavaScript library for Competitive Programming
22 lines (18 loc) • 391 B
JavaScript
;
/* 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);
};