Find adjacent primes which differ by a square integer: Difference between revisions
Content added Content deleted
(Added Algol 68) |
Thundergnat (talk | contribs) (→{{header|Raku}}: Anything worth doing is worth over-doing...) |
||
Line 271: | Line 271: | ||
my $iterator = Math::Primesieve::iterator.new; |
my $iterator = Math::Primesieve::iterator.new; |
||
my $limit = |
my $limit = 1e10; |
||
my @squares = (1.. |
my @squares = (1..30).map: *²; |
||
my $last = 2; |
my $last = 2; |
||
my @gaps; |
my @gaps; |
||
Line 278: | Line 278: | ||
loop { |
loop { |
||
my $this = (my $p = $iterator.next) - $last; |
my $this = (my $p = $iterator.next) - $last; |
||
@gaps[$this].push |
quietly @gaps[$this].push($last) if +@gaps[$this] < 10; |
||
last if $p > $limit; |
last if $p > $limit; |
||
$last = $p; |
$last = $p; |
||
Line 287: | Line 287: | ||
my $ten = ($p.value > 10) ?? ', (first ten)' !! ''; |
my $ten = ($p.value > 10) ?? ', (first ten)' !! ''; |
||
say "\nGap {$p.key}: {comma +$p.value} found$ten:"; |
say "\nGap {$p.key}: {comma +$p.value} found$ten:"; |
||
put join "\n", $p.value |
put join "\n", $p.value.batch(5)».map({"($_, {$_+ $p.key})"})».join(', '); |
||
}</lang> |
}</lang> |
||
{{out}} |
{{out}} |
||
<pre>Adjacent primes up to |
<pre>Adjacent primes up to 10,000,000,000 with a gap value that is a perfect square: |
||
Gap 1: 1 found: |
Gap 1: 1 found: |
||
(2, 3) |
(2, 3) |
||
Gap 4: |
Gap 4: 10 found: |
||
(7, 11), (13, 17), (19, 23), (37, 41), (43, 47) |
(7, 11), (13, 17), (19, 23), (37, 41), (43, 47) |
||
(67, 71), (79, 83), (97, 101), (103, 107), (109, 113) |
(67, 71), (79, 83), (97, 101), (103, 107), (109, 113) |
||
Gap 16: |
Gap 16: 10 found: |
||
(1831, 1847), (1933, 1949), (2113, 2129), (2221, 2237), (2251, 2267) |
(1831, 1847), (1933, 1949), (2113, 2129), (2221, 2237), (2251, 2267) |
||
(2593, 2609), (2803, 2819), (3121, 3137), (3373, 3389), (3391, 3407) |
(2593, 2609), (2803, 2819), (3121, 3137), (3373, 3389), (3391, 3407) |
||
Gap 36: |
Gap 36: 10 found: |
||
(9551, 9587), (12853, 12889), (14107, 14143), (15823, 15859), (18803, 18839) |
(9551, 9587), (12853, 12889), (14107, 14143), (15823, 15859), (18803, 18839) |
||
(22193, 22229), (22307, 22343), (22817, 22853), (24281, 24317), (27143, 27179) |
(22193, 22229), (22307, 22343), (22817, 22853), (24281, 24317), (27143, 27179) |
||
Gap 64: |
Gap 64: 10 found: |
||
(89689, 89753), (107377, 107441), (288583, 288647), (367957, 368021), (381103, 381167) |
(89689, 89753), (107377, 107441), (288583, 288647), (367957, 368021), (381103, 381167) |
||
(400759, 400823), (445363, 445427), (623107, 623171), (625699, 625763), (637003, 637067) |
(400759, 400823), (445363, 445427), (623107, 623171), (625699, 625763), (637003, 637067) |
||
Gap 100: |
Gap 100: 10 found: |
||
(396733, 396833), (838249, 838349), (1313467, 1313567), (1648081, 1648181), (1655707, 1655807) |
(396733, 396833), (838249, 838349), (1313467, 1313567), (1648081, 1648181), (1655707, 1655807) |
||
(2345989, 2346089), (2784373, 2784473), (3254959, 3255059), (3595489, 3595589), (4047157, 4047257) |
(2345989, 2346089), (2784373, 2784473), (3254959, 3255059), (3595489, 3595589), (4047157, 4047257) |
||
Gap 144: |
Gap 144: 10 found: |
||
(11981443, 11981587), (18687587, 18687731), (20024339, 20024483), (20388583, 20388727), (21782503, 21782647) |
(11981443, 11981587), (18687587, 18687731), (20024339, 20024483), (20388583, 20388727), (21782503, 21782647) |
||
(25507423, 25507567), (27010003, 27010147), (28716287, 28716431), (31515413, 31515557), (32817493, 32817637) |
(25507423, 25507567), (27010003, 27010147), (28716287, 28716431), (31515413, 31515557), (32817493, 32817637) |
||
Gap 196: |
Gap 196: 10 found: |
||
(70396393, 70396589), (191186251, 191186447), (208744777, 208744973), (233987851, 233988047), (288568771, 288568967) |
|||
(70396393, 70396589)</pre> |
|||
(319183093, 319183289), (336075937, 336076133), (339408151, 339408347), (345247753, 345247949), (362956201, 362956397) |
|||
Gap 256: 10 found: |
|||
(1872851947, 1872852203), (2362150363, 2362150619), (2394261637, 2394261893), (2880755131, 2880755387), (2891509333, 2891509589) |
|||
(3353981623, 3353981879), (3512569873, 3512570129), (3727051753, 3727052009), (3847458487, 3847458743), (4008610423, 4008610679) |
|||
</pre> |
|||
=={{header|Ring}}== |
=={{header|Ring}}== |