Find adjacent primes which differ by a square integer: Difference between revisions
Content added Content deleted
(add gwbasic) |
Thundergnat (talk | contribs) (→{{header|Raku}}: Add a Raku example. Sig. I guess we're going to get 30 trivial variations on prime gap tasks now...) |
||
Line 208: | Line 208: | ||
997877 997813 diff = 64 |
997877 997813 diff = 64 |
||
done... |
done... |
||
</pre> |
|||
=={{header|Raku}}== |
|||
<lang perl6>use Math::Primesieve; |
|||
my $iterator = Math::Primesieve::iterator.new; |
|||
my $limit = 1e6; |
|||
my @squares = (8,10).map: *²; |
|||
my $last = 2; |
|||
my @gaps; |
|||
loop { |
|||
my $this = (my $p = $iterator.next) - $last; |
|||
@gaps[$this].push: $last; |
|||
last if $p > $limit; |
|||
$last = $p; |
|||
} |
|||
for @gaps.pairs.grep: { (.key ∈ @squares) && .value.defined } -> $p { |
|||
say "\nGap {$p.key}:"; |
|||
put join "\n", $p.value.batch(4)».map({ "($_, {$_+ $p.key})" })».join(', '); |
|||
}</lang> |
|||
{{out}} |
|||
<pre>Gap 64: |
|||
(89689, 89753), (107377, 107441), (288583, 288647), (367957, 368021) |
|||
(381103, 381167), (400759, 400823), (445363, 445427), (623107, 623171) |
|||
(625699, 625763), (637003, 637067), (710713, 710777), (725209, 725273) |
|||
(779413, 779477), (801883, 801947), (803749, 803813), (821677, 821741) |
|||
(832519, 832583), (844777, 844841), (883807, 883871), (912103, 912167) |
|||
(919447, 919511), (954763, 954827), (981823, 981887), (997813, 997877) |
|||
Gap 100: |
|||
(396733, 396833), (838249, 838349) |
|||
</pre> |
</pre> |
||