Anonymous user
Lucas-Lehmer test: Difference between revisions
m
→{{header|D}}: buggy, fixed & remove thread version // still buggy, missing 9689 & 21701... or may be bigint broken?
m (→{{header|D}}: + D) |
m (→{{header|D}}: buggy, fixed & remove thread version // still buggy, missing 9689 & 21701... or may be bigint broken?) |
||
Line 308:
=={{header|D}}==
{{trans|Python}}
<lang d>import std.stdio
bool isPrime(int p) {
if(p < 2 || p % 2 == 0) return p == 2 ;
foreach( i ;
if(p % i == 0)
return false ;
Line 324 ⟶ 323:
auto mp = (BigInt(1) << p) - 1 ;
auto s = BigInt(4) ;
foreach(_ ;
s = (s*s - 2) % mp ;
return s == 0 ;
}
void main() {
▲ int[] result ;
foreach(p ; iota(2,1000))▼
int num ;▼
private void run() {▼
if(isMersennePrime(num))▼
}▼
}</lang>
Output:
<pre> M2 M3 M5 M7 M13 M17 M19 M31 M61 M89 M107 M127 M521 M607 M1279 M2203 M2281 M3217 M4253 M4423 M9941</pre>
=={{header|Erlang}}==
<lang erlang>-module(mp).
|