Lucas-Lehmer test: Difference between revisions
Content deleted Content added
→{{header|Scala}}: Parallel processing since 2.8 made it possible for quicker processing. |
|||
Line 1,266:
=={{header|Ruby}}==
<lang ruby>def is_prime ( p )
return true if p == 2
return false if p <= 1 || p.even?
return false if p % i == 0
▲ (3 .. Math.sqrt(p)).step(2) do |i|
if p % i == 0▼
end
true
end
def is_mersenne_prime ( p )
return true if p == 2
(p-2).times {
end
Line 1,298 ⟶ 1,287:
upb_count = 45 # find 45 mprimes if int was given enough bits #
puts " Finding Mersenne primes in M[2..%d]:" % upb_prime
count = 0
for p in 2..upb_prime
if is_prime(p) && is_mersenne_prime(p)
print "M%d " % p
count += 1
end
break if count >= upb_count
end
puts</lang>
{{out}}
<pre> Finding Mersenne primes in M[2..33218]:
M2 M3 M5 M7 M13 M17 M19 M31 M61 M89 M107 M127 M521 M607 M1279 M2203 M2281 M3217 M4253 M4423 M9689 M9941 M11213 M19937 M21701 M23209</pre>
|