JSFiddle - React, Tailwind, and code Playground
JavaScript
alert(ways(9, 2, 3)); // 1260
function ways(n) {
var l = arguments.length, w = 1;
for (var i = 1; i < l; i++) {
var m = arguments[i];
w *= combinations(n, m);
n -= m;
}
return w;
}
function combinations(n, k) {
return factorial(n) / factorial(n - k) / factorial(k);
}
function factorial(n) {
var f = n;
while (--n) f *= n;
return f;
}