Problem 121
http://projecteuler.net/index.php?section=problems&id=121
確率を計算して、その逆数を求めるかんたんなお仕事
だったが、問題文を理解するのに多大な時間を費やした。
英語
きらいです。
prob m n | n == 0 = 1 | m > n = (prob (m-1) (n-1)+ m*prob (m-1) n)/(m+1) | m == n = 1/ product [1..m+1] prizeFund n = floor$ 1 / prob n' m where n' = toRational n m = toRational$ (n`div`2+1) main = print.prizeFund$15