Mersenne primes: Difference between revisions

Content added Content deleted
(→‎{{header|Scala}}: migrate to Scala 2.13)
Line 44:
end repeat
</lang>
=={{header|AWK}}==
<lang AWK>
# syntax: GAWK --bignum -f MERSENNE_PRIMES.AWK
BEGIN {
base = 2
for (i=1; i<62; i++) {
if (is_prime(base-1)) {
printf("2 ^ %d - 1\n",i)
}
base *= 2
}
exit(0)
}
function is_prime(n, d) {
d = 5
if (n < 2) { return(0) }
if (n % 2 == 0) { return(n == 2) }
if (n % 3 == 0) { return(n == 3) }
while (d*d <= n) {
if (n % d == 0) { return(0) }
d += 2
if (n % d == 0) { return(0) }
d += 4
}
return(1)
}
</lang>
{{out}}
<pre>
2 ^ 2 - 1
2 ^ 3 - 1
2 ^ 5 - 1
2 ^ 7 - 1
2 ^ 13 - 1
2 ^ 17 - 1
2 ^ 19 - 1
2 ^ 31 - 1
2 ^ 61 - 1
</pre>
 
=={{header|C#}}==