learning F#, it seems pretty cool, favourite functional language so far.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

123456789101112131415
  1. module NthPrime
  2. let isPrime n =
  3. let stop = int(sqrt(float(n)))
  4. seq { 2..stop }
  5. |> Seq.exists (fun x -> n % x = 0)
  6. |> not
  7. let oddNumbers = Seq.initInfinite (fun i -> i + 2)
  8. let oddPrimes = Seq.filter isPrime oddNumbers
  9. let safeNthPrime n = if n = 1 then 2 else Seq.last (Seq.take n oddPrimes)
  10. let prime nth : int option = if nth = 0 then None else Some(safeNthPrime nth)