#light open System let calcPi() = let ran = new Random() let distances = seq { for i in 0 .. 100000 do let x,y = ran.NextDouble(), ran.NextDouble() yield sqrt (x * x + y * y) } let count = distances |> Seq.filter (fun distance -> distance <= 1.0) |> Seq.length 4.0 * (float count) / (float (Seq.length distances)) let errorRate() = (1.0 - (calcPi() / Math.PI)) * 100.0 let print5 value = for i in 0 .. 5 do printf "%f\n" (value()) print5 (errorRate)