Prime triplets: Difference between revisions
Content added Content deleted
Drkameleon (talk | contribs) (Added Arturo implementation) |
|||
Line 359: | Line 359: | ||
[5477, 5479, 5483] |
[5477, 5479, 5483] |
||
</pre> |
</pre> |
||
=={{header|Nim}}== |
|||
<lang Nim>import strformat |
|||
const |
|||
N = 5500 - 1 |
|||
Max = N + 6 |
|||
# Sieve of Erathosthenes: false (default) is composite. |
|||
var composite: array[3..Max, bool] # Ignore 2 as all primes should be odd. |
|||
var n = 3 |
|||
while true: |
|||
let n2 = n * n |
|||
if n2 > Max: break |
|||
if not composite[n]: |
|||
for k in countup(n2, Max, 2 * n): |
|||
composite[k] = true |
|||
inc n, 2 |
|||
template isPrime(n: int): bool = not composite[n] |
|||
echo " p p+2 p+6" |
|||
var count = 0 |
|||
for n in countup(3, N, 2): |
|||
if n.isPrime and (n + 2).isPrime and (n + 6).isPrime: |
|||
echo &"{n:4} {n+2:4} {n+6:4}" |
|||
inc count |
|||
echo &"\nFound {count} primes triplets for p < {N+1}."</lang> |
|||
{{out}} |
|||
<pre> p p+2 p+6 |
|||
5 7 11 |
|||
11 13 17 |
|||
17 19 23 |
|||
41 43 47 |
|||
101 103 107 |
|||
107 109 113 |
|||
191 193 197 |
|||
227 229 233 |
|||
311 313 317 |
|||
347 349 353 |
|||
461 463 467 |
|||
641 643 647 |
|||
821 823 827 |
|||
857 859 863 |
|||
881 883 887 |
|||
1091 1093 1097 |
|||
1277 1279 1283 |
|||
1301 1303 1307 |
|||
1427 1429 1433 |
|||
1481 1483 1487 |
|||
1487 1489 1493 |
|||
1607 1609 1613 |
|||
1871 1873 1877 |
|||
1997 1999 2003 |
|||
2081 2083 2087 |
|||
2237 2239 2243 |
|||
2267 2269 2273 |
|||
2657 2659 2663 |
|||
2687 2689 2693 |
|||
3251 3253 3257 |
|||
3461 3463 3467 |
|||
3527 3529 3533 |
|||
3671 3673 3677 |
|||
3917 3919 3923 |
|||
4001 4003 4007 |
|||
4127 4129 4133 |
|||
4517 4519 4523 |
|||
4637 4639 4643 |
|||
4787 4789 4793 |
|||
4931 4933 4937 |
|||
4967 4969 4973 |
|||
5231 5233 5237 |
|||
5477 5479 5483 |
|||
Found 43 primes triplets for p < 5500.</pre> |
|||
=={{header|PARI/GP}}== |
=={{header|PARI/GP}}== |