Skip to content

Instantly share code, notes, and snippets.

@wilkes
Created August 15, 2012 23:57
Show Gist options
  • Save wilkes/3364811 to your computer and use it in GitHub Desktop.
Save wilkes/3364811 to your computer and use it in GitHub Desktop.
(ns montyhall
(:require [clojure.set :as set]))
(defn make-a-deal [_]
(let [doors (shuffle [:goat :goat :car])
car? (= (doors (rand-int 3)) :car)]
(if car? 1 0)))
(defn monty-hall [n]
(let [first-guesses (reduce + 0
(map make-a-deal (range n)))]
(format "keep: %.4f%% switch: %.4f%%"
(float (/ first-guesses n))
(float (/ (- n first-guesses) n)))))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment