Sha256: 62d0e03ab43630ec56029a092e1933b7effbe4470d7a8410b8d04f89b5bd82c9

Contents?: true

Size: 475 Bytes

Versions: 265

Compression:

Stored size: 475 Bytes

Contents

module NthPrime

open System

let isPrime (n: int) = 
    let r = Math.Floor(Math.Sqrt(n |> double)) |> int
    r < 5 || Seq.init (r - 4) id |> Seq.forall (fun x -> n % (5 + x) <> 0)

let rec possiblePrimes n = 
    seq { 
        yield n - 1
        yield n + 1
        yield! possiblePrimes (n + 6)
    }
    
let primes = 
    seq {
        yield 2
        yield 3
        yield! Seq.filter isPrime (possiblePrimes 6)
    }

let nthPrime nth = Seq.item (nth - 1) primes

Version data entries

265 entries across 265 versions & 1 rubygems

Version Path
trackler-2.2.1.47 tracks/fsharp/exercises/nth-prime/Example.fs
trackler-2.2.1.46 tracks/fsharp/exercises/nth-prime/Example.fs
trackler-2.2.1.45 tracks/fsharp/exercises/nth-prime/Example.fs
trackler-2.2.1.44 tracks/fsharp/exercises/nth-prime/Example.fs
trackler-2.2.1.43 tracks/fsharp/exercises/nth-prime/Example.fs
trackler-2.2.1.42 tracks/fsharp/exercises/nth-prime/Example.fs
trackler-2.2.1.41 tracks/fsharp/exercises/nth-prime/Example.fs
trackler-2.2.1.40 tracks/fsharp/exercises/nth-prime/Example.fs
trackler-2.2.1.39 tracks/fsharp/exercises/nth-prime/Example.fs
trackler-2.2.1.38 tracks/fsharp/exercises/nth-prime/Example.fs
trackler-2.2.1.37 tracks/fsharp/exercises/nth-prime/Example.fs
trackler-2.2.1.36 tracks/fsharp/exercises/nth-prime/Example.fs
trackler-2.2.1.35 tracks/fsharp/exercises/nth-prime/Example.fs
trackler-2.2.1.34 tracks/fsharp/exercises/nth-prime/Example.fs
trackler-2.2.1.33 tracks/fsharp/exercises/nth-prime/Example.fs
trackler-2.2.1.32 tracks/fsharp/exercises/nth-prime/Example.fs
trackler-2.2.1.31 tracks/fsharp/exercises/nth-prime/Example.fs
trackler-2.2.1.30 tracks/fsharp/exercises/nth-prime/Example.fs
trackler-2.2.1.29 tracks/fsharp/exercises/nth-prime/Example.fs
trackler-2.2.1.28 tracks/fsharp/exercises/nth-prime/Example.fs