Triplet of three numbers: Difference between revisions

Add Seed7
(Added Forth solution)
(Add Seed7)
Line 1,482:
Found 46 prime triplets
done...
</pre>
 
=={{header|Seed7}}==
<lang seed7>$ include "seed7_05.s7i";
 
const func boolean: isPrime (in integer: number) is func
result
var boolean: prime is FALSE;
local
var integer: upTo is 0;
var integer: testNum is 3;
begin
if number = 2 then
prime := TRUE;
elsif odd(number) and number > 2 then
upTo := sqrt(number);
while number rem testNum <> 0 and testNum <= upTo do
testNum +:= 2;
end while;
prime := testNum > upTo;
end if;
end func;
 
const proc: main is func
local
var integer: n is 0;
var integer: count is 0;
begin
writeln(" n n-3 n+3 n+5");
writeln("--------------------");
for n range 2 to 5998 step 2 do
if isPrime(n - 1) and isPrime(n + 3) and isPrime(n + 5) then
writeln(n lpad 4 <& ":" <& n - 1 lpad 5 <& n + 3 lpad 5 <& n + 5 lpad 5);
incr(count);
end if;
end for;
writeln("\nFound " <& count <& " triplets for n < 6000.");
end func;</lang>
{{out}}
<pre>
n n-3 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>
 
1,808

edits