Triplet of three numbers: Difference between revisions
Line 63: | Line 63: | ||
5654 [5653, 5655, 5659] |
5654 [5653, 5655, 5659] |
||
5738 [5737, 5739, 5743] |
5738 [5737, 5739, 5743] |
||
</pre> |
|||
=={{header|Phix}}== |
|||
<!--<lang Phix>(phixonline)--> |
|||
<span style="color: #008080;">function</span> <span style="color: #000000;">trio</span><span style="color: #0000FF;">(</span><span style="color: #004080;">integer</span> <span style="color: #000000;">n</span><span style="color: #0000FF;">)</span> <span style="color: #008080;">return</span> <span style="color: #7060A8;">sum</span><span style="color: #0000FF;">(</span><span style="color: #7060A8;">apply</span><span style="color: #0000FF;">({</span><span style="color: #000000;">n</span><span style="color: #0000FF;">-</span><span style="color: #000000;">1</span><span style="color: #0000FF;">,</span><span style="color: #000000;">n</span><span style="color: #0000FF;">+</span><span style="color: #000000;">3</span><span style="color: #0000FF;">,</span><span style="color: #000000;">n</span><span style="color: #0000FF;">+</span><span style="color: #000000;">5</span><span style="color: #0000FF;">},</span><span style="color: #7060A8;">is_prime</span><span style="color: #0000FF;">))=</span><span style="color: #000000;">3</span> <span style="color: #008080;">end</span> <span style="color: #008080;">function</span> |
|||
<span style="color: #004080;">sequence</span> <span style="color: #000000;">res</span> <span style="color: #0000FF;">=</span> <span style="color: #7060A8;">filter</span><span style="color: #0000FF;">(</span><span style="color: #7060A8;">tagset</span><span style="color: #0000FF;">(</span><span style="color: #000000;">6000</span><span style="color: #0000FF;">),</span><span style="color: #000000;">trio</span><span style="color: #0000FF;">)</span> |
|||
<span style="color: #7060A8;">printf</span><span style="color: #0000FF;">(</span><span style="color: #000000;">1</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"%d found: %V\n"</span><span style="color: #0000FF;">,{</span><span style="color: #7060A8;">length</span><span style="color: #0000FF;">(</span><span style="color: #000000;">res</span><span style="color: #0000FF;">),</span><span style="color: #7060A8;">shorten</span><span style="color: #0000FF;">(</span><span style="color: #000000;">res</span><span style="color: #0000FF;">,</span><span style="color: #008000;">""</span><span style="color: #0000FF;">,</span><span style="color: #000000;">5</span><span style="color: #0000FF;">)})</span> |
|||
<!--</lang>--> |
|||
{{out}} |
|||
<pre> |
|||
46 found: {8,14,38,68,98,"...",5414,5438,5648,5654,5738} |
|||
</pre> |
</pre> |
||
Revision as of 18:18, 17 May 2021
- Task
Numbers n such that the three numbers n-1, n+3 and n+5 are all prime. where n < 6000
Julia
<lang julia>using Primes
makesprimetriplet(n) = all(isprime, [n - 1, n + 3, n + 5]) println(" N Prime Triplet\n--------------------------") foreach(n -> println(rpad(n, 6), [n - 1, n + 1, n + 5]), filter(makesprimetriplet, 2:6005))
</lang>
- Output:
N Prime Triplet -------------------------- 8 [7, 9, 13] 14 [13, 15, 19] 38 [37, 39, 43] 68 [67, 69, 73] 98 [97, 99, 103] 104 [103, 105, 109] 194 [193, 195, 199] 224 [223, 225, 229] 278 [277, 279, 283] 308 [307, 309, 313] 458 [457, 459, 463] 614 [613, 615, 619] 824 [823, 825, 829] 854 [853, 855, 859] 878 [877, 879, 883] 1088 [1087, 1089, 1093] 1298 [1297, 1299, 1303] 1424 [1423, 1425, 1429] 1448 [1447, 1449, 1453] 1484 [1483, 1485, 1489] 1664 [1663, 1665, 1669] 1694 [1693, 1695, 1699] 1784 [1783, 1785, 1789] 1868 [1867, 1869, 1873] 1874 [1873, 1875, 1879] 1994 [1993, 1995, 1999] 2084 [2083, 2085, 2089] 2138 [2137, 2139, 2143] 2378 [2377, 2379, 2383] 2684 [2683, 2685, 2689] 2708 [2707, 2709, 2713] 2798 [2797, 2799, 2803] 3164 [3163, 3165, 3169] 3254 [3253, 3255, 3259] 3458 [3457, 3459, 3463] 3464 [3463, 3465, 3469] 3848 [3847, 3849, 3853] 4154 [4153, 4155, 4159] 4514 [4513, 4515, 4519] 4784 [4783, 4785, 4789] 5228 [5227, 5229, 5233] 5414 [5413, 5415, 5419] 5438 [5437, 5439, 5443] 5648 [5647, 5649, 5653] 5654 [5653, 5655, 5659] 5738 [5737, 5739, 5743]
Phix
function trio(integer n) return sum(apply({n-1,n+3,n+5},is_prime))=3 end function sequence res = filter(tagset(6000),trio) printf(1,"%d found: %V\n",{length(res),shorten(res,"",5)})
- Output:
46 found: {8,14,38,68,98,"...",5414,5438,5648,5654,5738}
Raku
A weird combination of Cousin primes and Twin primes that are siblings, but known by their neighbor.... I shall dub these Alabama primes.
<lang perl6>say "{.[0]+1}: ",$_ for grep *.all.is-prime, ^6000 .race.map: { $_-1, $_+3, $_+5 };</lang>
- Output:
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)
Ring
<lang ring> load "stdlib.ring" see "working..." + nl see "n prime triplet" + nl see "----------------" + nl row = 0
limit = 6000
for n = 2 to limit-2
bool1 = isprime(n-1) bool2 = isprime(n+3) bool3 = isprime(n+5) bool = bool1 and bool2 and bool3 if bool row = row + 1 see "" + n + ": (" + (n-1) + " " + (n+3) + " " + (n+5) + ")" + nl ok
next
see "Found " + row + " primes" + nl see "done..." + nl </lang>
- Output:
working... n prime triplet ---------------- 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 primes done...
Wren
<lang ecmascript>import "/math" for Int import "/fmt" for Fmt
var c = Int.primeSieve(6003, false) var numbers = [] System.print("Numbers n < 6000 where: n - 1, n + 3, n + 5 are all primes:") var n = 4 while (n < 6000) {
if (!c[n-1] && !c[n+3] && !c[n+5]) numbers.add(n) n = n + 2
} for (n in numbers) Fmt.print("$,6d => $,6d", n, [n-1, n+3, n+5]) System.print("\nFound %(numbers.count) such numbers.")</lang>
- Output:
Numbers n < 6000 where: n - 1, n + 3, n + 5 are all primes: 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 1,088 => 1,087 1,091 1,093 1,298 => 1,297 1,301 1,303 1,424 => 1,423 1,427 1,429 1,448 => 1,447 1,451 1,453 1,484 => 1,483 1,487 1,489 1,664 => 1,663 1,667 1,669 1,694 => 1,693 1,697 1,699 1,784 => 1,783 1,787 1,789 1,868 => 1,867 1,871 1,873 1,874 => 1,873 1,877 1,879 1,994 => 1,993 1,997 1,999 2,084 => 2,083 2,087 2,089 2,138 => 2,137 2,141 2,143 2,378 => 2,377 2,381 2,383 2,684 => 2,683 2,687 2,689 2,708 => 2,707 2,711 2,713 2,798 => 2,797 2,801 2,803 3,164 => 3,163 3,167 3,169 3,254 => 3,253 3,257 3,259 3,458 => 3,457 3,461 3,463 3,464 => 3,463 3,467 3,469 3,848 => 3,847 3,851 3,853 4,154 => 4,153 4,157 4,159 4,514 => 4,513 4,517 4,519 4,784 => 4,783 4,787 4,789 5,228 => 5,227 5,231 5,233 5,414 => 5,413 5,417 5,419 5,438 => 5,437 5,441 5,443 5,648 => 5,647 5,651 5,653 5,654 => 5,653 5,657 5,659 5,738 => 5,737 5,741 5,743 Found 46 such numbers.