Wagstaff primes: Difference between revisions
Content added Content deleted
(Added a note.) |
(→{{header|Wren}}: Simplified a bit in light of recently added note but only a smidgen quicker.) |
||
Line 217: | Line 217: | ||
var isWagstaff = Fn.new { |p| |
var isWagstaff = Fn.new { |p| |
||
var w = (2.pow(p) + 1) / 3 |
var w = (2.pow(p) + 1) / 3 // always integral |
||
if ( |
if (!Int.isPrime(w)) return [false, null] |
||
return [true, [p, w]] |
return [true, [p, w]] |
||
} |
} |
||
var isBigWagstaff = Fn.new { |p| |
var isBigWagstaff = Fn.new { |p| |
||
var w = Mpz.one.lsh(p).add(1) |
var w = Mpz.one.lsh(p).add(1).div(3) |
||
return w.probPrime(15) > 0 |
|||
w.div(3) |
|||
if (w.probPrime(15) == 0) return [false, null] |
|||
return [true, p] |
|||
} |
} |
||
Line 254: | Line 251: | ||
if (Int.isPrime(p)) break |
if (Int.isPrime(p)) break |
||
} |
} |
||
if (isBigWagstaff.call(p)) { |
|||
⚫ | |||
if (res[0]) { |
|||
⚫ | |||
count = count + 1 |
count = count + 1 |
||
} |
} |
||
Line 275: | Line 271: | ||
43: 2932031007403 |
43: 2932031007403 |
||
Took 0. |
Took 0.055678 seconds |
||
Values of 'p' for the next 19 Wagstaff primes and |
Values of 'p' for the next 19 Wagstaff primes and |
||
Line 293: | Line 289: | ||
3539 ( 5 secs) |
3539 ( 5 secs) |
||
5807 ( 25 secs) |
5807 ( 25 secs) |
||
10501 ( |
10501 (193 secs) |
||
10691 ( |
10691 (205 secs) |
||
11279 ( |
11279 (244 secs) |
||
12391 ( |
12391 (341 secs) |
||
14479 ( |
14479 (593 secs) |
||
</pre> |
</pre> |