Factorial primes: Difference between revisions

Added Perl
(Added Perl)
Line 268:
10: 14! - 1 = 87178291199
</pre>
 
=={{header|Perl}}==
{{libheader|ntheory}}
<syntaxhighlight lang="perl" line>use v5.36;
use ntheory <is_prime factorial>;
 
sub show ($d) { my $l = length $d; $l < 41 ? $d : substr($d,0,20) . '..' . substr($d,-20) . " ($l digits)" }
 
my($cnt,$n);
my $fmt = "%2d: %3d! %s 1 = %s\n";
 
while () {
my $f = factorial ++$n;
if (is_prime $f-1) { printf $fmt, ++$cnt, $n, '-', show $f-1 }
if (is_prime $f+1) { printf $fmt, ++$cnt, $n, '+', show $f+1 }
last if $cnt == 30;
}</syntaxhighlight>
{{out}}
<pre> 1: 1! + 1 = 2
2: 2! + 1 = 3
3: 3! - 1 = 5
4: 3! + 1 = 7
5: 4! - 1 = 23
6: 6! - 1 = 719
7: 7! - 1 = 5039
8: 11! + 1 = 39916801
9: 12! - 1 = 479001599
10: 14! - 1 = 87178291199
11: 27! + 1 = 10888869450418352160768000001
12: 30! - 1 = 265252859812191058636308479999999
13: 32! - 1 = 263130836933693530167218012159999999
14: 33! - 1 = 8683317618811886495518194401279999999
15: 37! + 1 = 13763753091226345046..79581580902400000001 (44 digits)
16: 38! - 1 = 52302261746660111176..24100074291199999999 (45 digits)
17: 41! + 1 = 33452526613163807108..40751665152000000001 (50 digits)
18: 73! + 1 = 44701154615126843408..03680000000000000001 (106 digits)
19: 77! + 1 = 14518309202828586963..48000000000000000001 (114 digits)
20: 94! - 1 = 10873661566567430802..99999999999999999999 (147 digits)
21: 116! + 1 = 33931086844518982011..00000000000000000001 (191 digits)
22: 154! + 1 = 30897696138473508879..00000000000000000001 (272 digits)
23: 166! - 1 = 90036917057784373664..99999999999999999999 (298 digits)
24: 320! + 1 = 21161033472192524829..00000000000000000001 (665 digits)
25: 324! - 1 = 22889974601791023211..99999999999999999999 (675 digits)
26: 340! + 1 = 51008644721037110809..00000000000000000001 (715 digits)
27: 379! - 1 = 24840307460964707050..99999999999999999999 (815 digits)
28: 399! + 1 = 16008630711655973815..00000000000000000001 (867 digits)
29: 427! + 1 = 29063471769607348411..00000000000000000001 (940 digits)
30: 469! - 1 = 67718096668149510900..99999999999999999999 (1051 digits)</pre>
 
=={{header|Phix}}==
2,392

edits