Triplet of three numbers: Difference between revisions

Line 771:
5654 = 5653 5657 5659
5738 = 5737 5741 5743</pre>
 
=={{header|Nim}}==
<lang Nim>import strformat
 
const
N = 5999
Max = 6003 # 5998 + 5.
 
# 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 " n n-1 n+3 n+5"
var count = 0
for n in countup(4, N, 2):
if (n - 1). isPrime and (n + 3).isPrime and (n + 5).isPrime:
echo &"{n:4}: {n-1:4} {n+3:4} {n+5:4}"
inc count
 
echo &"\nFound {count} triplets for n < {N+1}."</lang>
 
{{out}}
<pre> n n-1 n+3 n+5
8: 7 11 13
14: 13 17 19
38: 37 41 43
68: 67 71 73
98: 97 101 103
104: 103 107 109
194: 193 197 199
224: 223 227 229
278: 277 281 283
308: 307 311 313
458: 457 461 463
614: 613 617 619
824: 823 827 829
854: 853 857 859
878: 877 881 883
1088: 1087 1091 1093
1298: 1297 1301 1303
1424: 1423 1427 1429
1448: 1447 1451 1453
1484: 1483 1487 1489
1664: 1663 1667 1669
1694: 1693 1697 1699
1784: 1783 1787 1789
1868: 1867 1871 1873
1874: 1873 1877 1879
1994: 1993 1997 1999
2084: 2083 2087 2089
2138: 2137 2141 2143
2378: 2377 2381 2383
2684: 2683 2687 2689
2708: 2707 2711 2713
2798: 2797 2801 2803
3164: 3163 3167 3169
3254: 3253 3257 3259
3458: 3457 3461 3463
3464: 3463 3467 3469
3848: 3847 3851 3853
4154: 4153 4157 4159
4514: 4513 4517 4519
4784: 4783 4787 4789
5228: 5227 5231 5233
5414: 5413 5417 5419
5438: 5437 5441 5443
5648: 5647 5651 5653
5654: 5653 5657 5659
5738: 5737 5741 5743
 
Found 46 triplets for n < 6000.</pre>
 
=={{header|Perl}}==
Anonymous user