The collection is hypergeometric, not binomial, but it doesn’t matter. The end result is the same.
Hypergeometric
If the population is 200000, and 6000 (3%) are cheaters. We grab a collection of 21 players, and look for 0 players who is cheating.
with(Statistics);
X := RandomVariable(Hypergeometric(200000, 6000, 21));
evalf(Probability(X = 0));
Result: 52.7%.
Binomial
Ignoring max population, we are looking for 21 legitimate players out of 21 players.
with(Statistics);
X := RandomVariable(Binomial(21, 0.97));
Probability(X = 21);
Result: 52.7%
I disagree with pretty much everything MicroRNA says, always, but whether you like it or not, that’s university statistics for you.