import scala.
annotation.
tailrec @tailrec
final def nextPrime
(i
: BigInt
): BigInt
= if (i.
isProbablePrime(95)) { i
nextPrime(i + 1)
}
@tailrec
final def nthPrimeHelper
(n
: Int, curr
: BigInt
): BigInt
= curr
nthPrimeHelper(n - 1, nextPrime(curr + BigInt(1)))
}
def nthPrime
(n
: Int
) = nthPrimeHelper
(n,
2)
(0 to
10) foreach
{ case n
=> println(nthPrime(n))
}
}
b2JqZWN0IE1haW4gZXh0ZW5kcyBBcHAgewogIGltcG9ydCBzY2FsYS5hbm5vdGF0aW9uLnRhaWxyZWMKICBAdGFpbHJlYyBmaW5hbCBkZWYgbmV4dFByaW1lKGk6IEJpZ0ludCk6IEJpZ0ludCA9CiAgICBpZiAoaS5pc1Byb2JhYmxlUHJpbWUoOTUpKSB7CiAgICAgIGkKICAgIH0gZWxzZSB7CiAgICAgIG5leHRQcmltZShpICsgMSkKICAgIH0KCiAgQHRhaWxyZWMgZmluYWwgZGVmIG50aFByaW1lSGVscGVyKG46IEludCwgY3VycjogQmlnSW50KTogQmlnSW50ID0KICAgIGlmIChuID09IDApIHsKICAgICAgY3VycgogICAgfSBlbHNlIHsKICAgICAgbnRoUHJpbWVIZWxwZXIobiAtIDEsIG5leHRQcmltZShjdXJyICsgQmlnSW50KDEpKSkKICAgIH0KCiAgZGVmIG50aFByaW1lKG46IEludCkgPSBudGhQcmltZUhlbHBlcihuLCAyKQoKICAoMCB0byAxMCkgZm9yZWFjaCAgeyBjYXNlIG4gPT4KICAgIHByaW50bG4obnRoUHJpbWUobikpCiAgfQp9