Skip to content

Instantly share code, notes, and snippets.

@lykkin
Created May 21, 2017 09:49
Show Gist options
  • Save lykkin/fd8ea3d90535f78d432e208f2a01c821 to your computer and use it in GitHub Desktop.
Save lykkin/fd8ea3d90535f78d432e208f2a01c821 to your computer and use it in GitHub Desktop.
odds of getting a chicken dinner
var factArr = [1]
function fact(n) {
if (n > factArr.length) {
for (var i = factArr.length; i <= n; ++i) {
factArr[i] = factArr[i - 1] * i
}
}
return factArr[n]
}
function choose(n, k) {
return fact(n) / (fact(n - k) * fact(k))
}
function binom(x, n, k) {
return choose(n, k) * Math.pow(x, k) * Math.pow((1 - x), n - k)
}
function getSeriesWinPercent(individualWinRate, numberOfGames) {
var sum = 0
for(var i = Math.ceil(numberOfGames / 2); i < numberOfGames + 1; ++i) {
sum += binom(individualWinRate, numberOfGames, i)
}
return sum
}
console.log(getSeriesWinPercent(.6, 5))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment