Jump to content

Mersenne primes: Difference between revisions

→‎{{header|Wren}}: Now uses Wren-math module.
m (Phix/mpfr)
(→‎{{header|Wren}}: Now uses Wren-math module.)
Line 1,295:
 
=={{header|Wren}}==
{{libheader|Wren-math}}
As far as exact integer arithmetic in Wren will allow us to go.
<lang ecmascript>varimport isPrime"/math" =for Fn.new { |n|Int
if (n < 2 || !n.isInteger) return false
if (n%2 == 0) return n == 2
if (n%3 == 0) return n == 3
var d = 5
while (d*d <= n) {
if (n%d == 0) return false
d = d + 2
if (n%d == 0) return false
d = d + 4
}
return true
}
 
System.print("The following Mersenne numbers are prime:")
for (i in 1..31) {
var m = (1<<i) - 1
if (isPrimeInt.callisPrime(m)) {
var sp = (i < 10) ? " " : ""
System.print("M(%(i))%(sp) = 2 ^ %(i)%(sp) - 1 = %(m)")
9,490

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.