Skip to content
DeepForgeby svx
All problems
MediumProbabilitypr-028

Hypergeometric PMF

Problem

Hypergeometric probability mass function: sampling draws items without replacement from a population with the given number of successes.

P(X = x) = C(successes, x) * C(pop - successes, draws - x) / C(pop, draws). Return 0.0 for impossible draws.

Hint

Choose x successes and draws - x failures, then divide by all possible draws.

Test cases

case 1
in: [52,4,5,2]
expected: 0.03992981808107859
case 2
in: [10,3,4,2]
expected: 0.3
case 3
in: [10,3,4,0]
expected: 0.16666666666666666
case 4
in: [10,3,4,4]
expected: 0
case 5
in: [5,5,5,5]
expected: 1
Starter codePython
import math


def hypergeometric_pmf(pop, successes, draws, x):
    # Your code here
    pass

5 test cases · run your code against them in the editor