Jump to content

Strange unique prime triplets: Difference between revisions

Added Algol W
(Added Algol W)
Line 85:
 
If n, m, p < 1000 finds 241580
</pre>
 
=={{header|ALGOL 68}}==
{{Trans|Algol W}} which is based on {{Trans|Wren}}
<lang algol68>BEGIN # find some strange unique primes - triplets of primes n, m, p #
# where n + m + p is also prime and n =/= m =/= p #
# we need to find the strange unique prime triplets below 1000 #
# so the maximum triplet sum could be roughly 3000 #
INT max number = 1000;
INT max prime = max number * 3;
# sieve the primes to max prime #
[ 1 : max prime ]BOOL prime;
prime[ 1 ] := FALSE; prime[ 2 ] := TRUE;
FOR i FROM 3 BY 2 TO UPB prime DO prime[ i ] := TRUE OD;
FOR i FROM 4 BY 2 TO UPB prime DO prime[ i ] := FALSE OD;
FOR i FROM 3 BY 2 TO ENTIER sqrt( max prime ) DO
IF prime[ i ] THEN FOR s FROM i * i BY i + i TO UPB prime DO prime[ s ] := FALSE OD FI
OD;
# we need to find the strange unique prime triplets below 1000 #
INT s count := 0, c30 := 0;
# 2 cannot be one of the primes as the sum would be even otherwise #
FOR n FROM 3 BY 2 TO max number - 5 DO
IF prime[ n ] THEN
FOR m FROM n + 2 BY 2 TO max number- 3 DO
IF prime[ m ] THEN
FOR p FROM m + 2 BY 2 TO max number DO
IF prime[ p ] THEN
IF INT s = n + m + p;
prime[ s ]
THEN
# have 3 unique primes whose sum is prime #
s count +:= 1;
IF p <= 30 AND m <= 30 AND n <= 30 THEN
c30 +:= 1;
print( ( whole( c30, -3 ), ": "
, whole( n, -3 ), " + "
, whole( m, -3 ), " + "
, whole( p, -3 ), " = "
, whole( s, -3 ), newline
)
)
FI
FI
FI
OD # p #
FI
OD # m #
FI
OD # n # ;
print( ( "Found ", whole( c30, -6 ), " strange unique prime triplets up to 30", newline ) );
print( ( "Found ", whole( s count, -6 ), " strange unique prime triplets up to 1000", newline ) )
END</lang>
{{out}}
<pre>
1: 3 + 5 + 11 = 19
2: 3 + 5 + 23 = 31
3: 3 + 5 + 29 = 37
4: 3 + 7 + 13 = 23
5: 3 + 7 + 19 = 29
6: 3 + 11 + 17 = 31
7: 3 + 11 + 23 = 37
8: 3 + 11 + 29 = 43
9: 3 + 17 + 23 = 43
10: 5 + 7 + 11 = 23
11: 5 + 7 + 17 = 29
12: 5 + 7 + 19 = 31
13: 5 + 7 + 29 = 41
14: 5 + 11 + 13 = 29
15: 5 + 13 + 19 = 37
16: 5 + 13 + 23 = 41
17: 5 + 13 + 29 = 47
18: 5 + 17 + 19 = 41
19: 5 + 19 + 23 = 47
20: 5 + 19 + 29 = 53
21: 7 + 11 + 13 = 31
22: 7 + 11 + 19 = 37
23: 7 + 11 + 23 = 41
24: 7 + 11 + 29 = 47
25: 7 + 13 + 17 = 37
26: 7 + 13 + 23 = 43
27: 7 + 17 + 19 = 43
28: 7 + 17 + 23 = 47
29: 7 + 17 + 29 = 53
30: 7 + 23 + 29 = 59
31: 11 + 13 + 17 = 41
32: 11 + 13 + 19 = 43
33: 11 + 13 + 23 = 47
34: 11 + 13 + 29 = 53
35: 11 + 17 + 19 = 47
36: 11 + 19 + 23 = 53
37: 11 + 19 + 29 = 59
38: 13 + 17 + 23 = 53
39: 13 + 17 + 29 = 59
40: 13 + 19 + 29 = 61
41: 17 + 19 + 23 = 59
42: 19 + 23 + 29 = 71
Found 42 strange unique prime triplets up to 30
Found 241580 strange unique prime triplets up to 1000
</pre>
 
3,045

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.