Erdős-primes: Difference between revisions
Content added Content deleted
m (→{{header|REXX}}: if ==> of) |
SqrtNegInf (talk | contribs) (Added Perl) |
||
Line 225: | Line 225: | ||
The 7,875 Erdős prime is 999,721. |
The 7,875 Erdős prime is 999,721. |
||
</pre> |
</pre> |
||
=={{header|Perl}}== |
|||
{{libheader|ntheory}} |
|||
<lang perl>use strict; |
|||
use warnings; |
|||
use feature 'say'; |
|||
use utf8; |
|||
binmode(STDOUT, ':utf8'); |
|||
use List::AllUtils 'before'; |
|||
use ntheory qw<is_prime factorial>; |
|||
sub is_erdos { |
|||
my($n) = @_; my $k; |
|||
return unless is_prime($n); |
|||
while ($n > factorial($k++)) { return if is_prime $n-factorial($k) } |
|||
'True' |
|||
} |
|||
my(@Erdős,$n); |
|||
do { push @Erdős, $n if is_erdos(++$n) } until $n >= 1e6; |
|||
say 'Erdős primes < ' . (my $max = 2500) . ':'; |
|||
say join ' ', before { $_ > 2500 } @Erdős; |
|||
say "\nErdős prime #" . @Erdős . ' is ' . $Erdős[-1];</lang> |
|||
{{out}} |
|||
<pre>Erdős primes < 2500: |
|||
2 101 211 367 409 419 461 557 673 709 769 937 967 1009 1201 1259 1709 1831 1889 2141 2221 2309 2351 2411 2437 |
|||
Erdős prime #7875 is 999721</pre> |
|||
=={{header|Phix}}== |
=={{header|Phix}}== |