Sha256: 1ca0b0cde1e2541dc4f6e7b0f1b93ddaf50b53f2023ac7df2aac6164f6b055dc

Contents?: true

Size: 651 Bytes

Versions: 134

Compression:

Stored size: 651 Bytes

Contents

fun nthPrime n =
  let
    fun isPrime n =
      if n = 2
      then true
      else if n < 2 orelse n mod 2 = 0
           then false
           else
             let
               fun loop i =
                 if i * i > n
                 then true
                 else if n mod i = 0
                      then false
                      else loop (i + 2)
             in
               loop 3
             end

    fun loop i m =
      case (i = n, isPrime m) of
        (true , true)  => m
      | (false, true)  => loop (i + 1) (m + 1)
      | (_    , _   )  => loop i (m + 1)
  in
    if n < 1
    then raise Domain
    else loop 1 2
  end

Version data entries

134 entries across 134 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/sml/exercises/nth-prime/example.sml
trackler-2.2.1.179 tracks/sml/exercises/nth-prime/example.sml
trackler-2.2.1.178 tracks/sml/exercises/nth-prime/example.sml
trackler-2.2.1.177 tracks/sml/exercises/nth-prime/example.sml
trackler-2.2.1.176 tracks/sml/exercises/nth-prime/example.sml
trackler-2.2.1.175 tracks/sml/exercises/nth-prime/example.sml
trackler-2.2.1.174 tracks/sml/exercises/nth-prime/example.sml
trackler-2.2.1.173 tracks/sml/exercises/nth-prime/example.sml
trackler-2.2.1.172 tracks/sml/exercises/nth-prime/example.sml
trackler-2.2.1.171 tracks/sml/exercises/nth-prime/example.sml
trackler-2.2.1.170 tracks/sml/exercises/nth-prime/example.sml
trackler-2.2.1.169 tracks/sml/exercises/nth-prime/example.sml
trackler-2.2.1.167 tracks/sml/exercises/nth-prime/example.sml
trackler-2.2.1.166 tracks/sml/exercises/nth-prime/example.sml
trackler-2.2.1.165 tracks/sml/exercises/nth-prime/example.sml
trackler-2.2.1.164 tracks/sml/exercises/nth-prime/example.sml
trackler-2.2.1.163 tracks/sml/exercises/nth-prime/example.sml
trackler-2.2.1.162 tracks/sml/exercises/nth-prime/example.sml
trackler-2.2.1.161 tracks/sml/exercises/nth-prime/example.sml
trackler-2.2.1.160 tracks/sml/exercises/nth-prime/example.sml