Старый 07.06.2008, 16:51   #4 (permalink)
Grey
Бессмертный
 
Аватар для Grey
 
Регистрация: 30.04.2004
Сообщений: 3,612
Допустим, распределение такое:
первый вариант: 0.7
второй вариант: 0.3

Нам надо получить случайное вещественное число от 0 до 1, чтобы выбрать один из двух вариантов. Если число будет меньше 0.7, берем первый вариант, если больше, то второй.

Делим интервал на 2 части. Условимся, что решка соответствует 0..0.5, а орел — 0.5..1 Кидаем монету первый раз. Замечу, что точно число нам знать необязательно, достаточно знать, что оно заведомо попадает в один из интервалов. Поэтому, если выпала решка — результат достигнут (первый вариант), дальше можно не кидать.

Если выпал орел, кидаем еще раз. Теперь решка соответствует 0.5..0.75, орел — 0.75..1. Если выпал орел, то это однозначно второй вариант. Если решка, кидаем третий раз и т.д.
__________________
Arthur Grey
Grey вне форума