Factors of a Mersenne number: Difference between revisions

Added Arturo implementation
m (Added Delphi reference to Pascal code)
(Added Arturo implementation)
Line 397:
M +929 has a factor: +13007
</pre>
 
=={{header|Arturo}}==
 
<lang rebol>mersenneFactors: function [q][
if not? prime? q -> return ø
r: new q
while -> r > 0
-> shl 'r 1
d: new 1 + 2 * q
while [true][
i: new 1
p: new r
while [p <> 0][
i: new (i * i) % d
if p < 0 -> 'i * 2
if i > d -> 'i - d
shl 'p 1
]
if? i <> 1 -> 'd + 2 * q
else -> break
]
return d
]
 
print ["2 ^ 929 - 1 = 0 ( mod" mersenneFactors 929 ")"]</lang>
 
{{out}}
 
<pre>2 ^ 929 - 1 = 0 ( mod 13007 )</pre>
 
=={{header|AutoHotkey}}==
1,532

edits