Как посчитать вероятность?

Есть ли какой ни будь вариант побыстрее то перебором всех случаев как-то медленно. Искал в формулу в интернете, не нашел.

Вот мой вариант:

def choise(in_all, need):
    count = 0
    for i in range(2 * 2 ** (in_all - 1)):
        if bin(i)[2:].count('1') == need:
            count += 1
    return 1 / count * 100
print(choise(5,2)) 

Пример использование кода:

Какие корни у уравнения x^2+3x-4=0. Выберите 2 верных ответа:

  1. 0
  2. 1
  3. 4
  4. -4
  5. -1

Вероятность того что выбрав наугад вы ответите правильно: 10%


Ответы (1 шт):

Автор решения: passant

В перечне 2 правильных ответа из 5 (ваше уравнения я даже не смотрел, решаем чисто вероятностную задачу). Вероятность того, что первый ответ вы угадали - 2/5. После этого у вас осталось 4 варианта для второго шага. Вероятность угадать - 1/4. Итого 0.4*0.25=0.1.

И вам правильно сказали. Искать в интернете надо ПОСЛЕ того, как вы хоть что-то изучили по книгам.

→ Ссылка