Live Coding
Inspired by
Bret Victor
Implementation (ES6+)
function factorial(n) { if (n <= 0) return 0; // Fixes -1 case if (n === 1) return 1; return n * factorial(n - 1); } function permutation(n, r) { return factorial(n) / factorial(n - r); } function combination(n, r) { return permutation(n, r) / factorial(r); }
Tests
Green = True / Truthy