Допустим, распределение такое:
первый вариант: 0.7
второй вариант: 0.3
Нам надо получить случайное вещественное число от 0 до 1, чтобы выбрать один из двух вариантов. Если число будет меньше 0.7, берем первый вариант, если больше, то второй.
Делим интервал на 2 части. Условимся, что решка соответствует 0..0.5, а орел — 0.5..1 Кидаем монету первый раз. Замечу, что точно число нам знать необязательно, достаточно знать, что оно заведомо попадает в один из интервалов. Поэтому, если выпала решка — результат достигнут (первый вариант), дальше можно не кидать.
Если выпал орел, кидаем еще раз. Теперь решка соответствует 0.5..0.75, орел — 0.75..1. Если выпал орел, то это однозначно второй вариант. Если решка, кидаем третий раз и т.д.
__________________
Arthur Grey
|