Binomial Coefficient Percentage
by tcghyit
HTML
<div></div>
JavaScript
function FindPercentage(itemNum, totalItems, tries) {
function BC(n, k) {
var coeff = 1;
for (var i = n-k+1; i <= n; i++) coeff *= i;
for (var i = 1; i <= k; i++) coeff /= i;
return coeff;
}
var tmp = (itemNum < tries) ? itemNum : tries;
console.log(tmp);
for (var i = 0; i <= tmp; i++) {
var v = (BC(totalItems - itemNum, tries - i) * BC(itemNum, i)) / BC(totalItems, tries);
var ans = Math.round((i?v:1-v) * 10000) / 100 || '<0.01';
if (i == 0) {
$('div').append('total-' + ans + '%<br>');
} else {
$('div').append(i + ' picked -' + ans + '%<br>');
}
if(tmp==1) break;
}
}
var sameItems = 3;
var totalItems = 100;
var tries = 3;
FindPercentage(sameItems, totalItems, tries);