Factorial primes: Difference between revisions

Content deleted Content added
Petelomax (talk | contribs)
PureFox (talk | contribs)
→‎{{header|Wren}}: Less repetitious.
Line 345:
var f = 1
while (true) {
iffor (Int.isPrime(gs in [[f-1), "-"], [f+1, "+"]]) {
if (Int.isPrime(gs[0])) {
Fmt.print("$2d: $2d! -$s 1 = $d", c = c + 1, i, f - gs[1], gs[0])
if (c == 10) return
}
if (Int.isPrime(f+1)) { }
Fmt.print("$2d: $2d! + 1 = $d", c = c + 1, i, f + 1)
if (c == 10) return
}
i = i + 1
Line 374 ⟶ 372:
===Stretch===
{{libheader|Wren-gmp}}
This takes about 28.5 seconds to reach the 33rd factorial prime on my machine (Core i7) with the last two being noticablynoticeably slower to emerge. Likely to be very slow after that as the next factorial prime is 1477! + 1.
<lang ecmascript>import "./gmp" for Mpz
import "./fmt" for Fmt
Line 386 ⟶ 384:
f.mul(i)
var r = (i < 21) ? 1 : 0 // test for definite primeness below 2^64
iffor ((gs in [[f-1).probPrime(15), >"-"], [f+1, r"+"]]) {
varif s(gs[0].probPrime(15) => (f-1r).toString {
var scs = sgs[0].counttoString
var digs = sc >var 40 ? "(%(sc) digits)" := ""s.count
Fmt.print("$2d: $3d! - 1 =var $20a $s", cdigs = csc +> 1,40 i,? s,"(%(sc) digsdigits)" : ""
Fmt.print("$2d: $2d3d! +$s 1 = $d20a $s", c = c + 1, i, fgs[1], +s, 1digs)
if (c == limit) return
if (c == 10limit) return
}
if ((f+1).probPrime(15) > r) {}
var s = (f+1).toString
var sc = s.count
var digs = sc > 40 ? "(%(sc) digits)" : ""
Fmt.print("$2d: $3d! + 1 = $20a $s", c = c + 1, i, s, digs)
if (c == limit) return
}
i = i + 1