# Misc Solution: Probability to win in a Tombola

In a tombola you can win one out of 5 prices. You know that 300 tickets where sold and to increase the chance to win you bought 13 of those tickets. What is the probability to win?

## Solution

It's easier to think of the probability to lose. The probability that your first ticket is a blank is $$\frac{295}{300}$$. Now assumed the first was a blank, the probability the second ticket is a blank as well is $$\frac{294}{299}$$. When we continue this for all 13 tickts we have, we get the probability of losing in this game:

let p = 1;
for (let i = 0; i < 13; i++) {
p*= (300 - 5 - i) / (300 - i);
}
console.log("Probability to win: ", 1 - p);

Now the question arises, what does a general formulation look like?

Let's say we have $$n$$ tickets, buy $$b$$ on our own and there are $$w$$ chances to win. The numerator to calculate the laplace probability is $$(n - w) \cdot (n - w - 1) \cdot \dots \cdot (n - w - b) = \frac{(n-w)!}{(n-w-b)!}$$. Similarly for the denominator $$n! \cdot (n-1)! \cdot (n-2)! \cdot \dots\cdot \cdot (n-b)! = \frac{n!}{(n-b)!}$$

Remembering that the number of variations is

$V(k, n) := \frac{n!}{(n - k)!}$

Which gives the probability to lose with

$P(\text{lose}) = \frac{V(b, n-w)}{V(b, n)}$

Finally, to calculate the probability to win, a simple implementation may look like

function variation(k, n) {
let p = 1
for (k = n - k; ++k <= n; ) p*= k;
return p;
}

function solution(n, w, b) {
return 1 - variation(b, n - w) / variation(b, n);
}

« Back to problem overview