Triplet of three numbers: Difference between revisions

Content added Content deleted
(Ada version)
No edit summary
Line 1,201: Line 1,201:
5738 [5737, 5741, 5743]
5738 [5737, 5741, 5743]
</pre>
</pre>

=={{header|Ksh}}==
<lang ksh>
#!/bin/ksh

# numbers n such that n-1, n+3, and n+5 are all prime where: n < 6,000.

# # Variables:
#
integer MAX_n=6000

# # Functions:
#

# # Function _triplet(n, arr) build array of n-1, n+3, n+5
#
function _triplet {
typeset _n ; integer _n=$1
typeset _arr ; nameref _arr="$2"

_arr=( $((_n-1)) $((_n+3)) $((_n+5)) )
}

# # Function _isprime(n) return 1 for prime, 0 for not prime
#
function _isprime {
typeset _n ; integer _n=$1
typeset _i ; integer _i

(( _n < 2 )) && return 0
for (( _i=2 ; _i*_i<=_n ; _i++ )); do
(( ! ( _n % _i ) )) && return 0
done
return 1
}

######
# main #
######

for ((i=2; i<MAX_n; i++)); do
typeset -a arr
_triplet ${i} arr
for ((j=0; j<${#arr[*]}; j++)); do
_isprime ${arr[j]}
(( ! $? )) && unset arr && continue 2
done
oldIFS=${IFS}
IFS=\,
print "${i}: ${arr[*]}"
IFS=${oldIFS}
unset arr
done</lang>
{{out}}<pre>
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</pre>


=={{header|MAD}}==
=={{header|MAD}}==