`(defun monty-hall (n)`

"Возвращает отношение доли успешных и неуспешных розыгрышей

игры Монти Холла при выборе стратегии всегда менять изначально

выбранную дверь"

(let ((succ 0.0)

(fail 0.0))

(dotimes (i n)

(let ((choice (random 3))

(prize (random 3)))

(if (= choice prize)

(incf fail) ; мы выбрали правильную дверь, но придется поменять

(incf succ)))) ; мы выбрали неправильную дверь, значит, после смены -- правильную

(/ succ fail)))

И статистика:

CL-USER> (monty-hall 100)

1.5641025

CL-USER> (monty-hall 1000)

1.6455027

CL-USER> (monty-hall 10000)

1.9958059

CL-USER> (monty-hall 100000)

2.0147724

CL-USER> (monty-hall 1000000)

1.9966408

CL-USER> (monty-hall 10000000)

1.9986455