Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
7
Task/Catalan-numbers/Perl/catalan-numbers-1.pl
Normal file
7
Task/Catalan-numbers/Perl/catalan-numbers-1.pl
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
sub factorial { my $f = 1; $f *= $_ for 2 .. $_[0]; $f; }
|
||||
sub catalan {
|
||||
my $n = shift;
|
||||
factorial(2*$n) / factorial($n+1) / factorial($n);
|
||||
}
|
||||
|
||||
print "$_\t@{[ catalan($_) ]}\n" for 0 .. 20;
|
||||
8
Task/Catalan-numbers/Perl/catalan-numbers-2.pl
Normal file
8
Task/Catalan-numbers/Perl/catalan-numbers-2.pl
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
my @c = (1);
|
||||
sub catalan {
|
||||
use bigint;
|
||||
$c[$_[0]] //= catalan($_[0]-1) * (4 * $_[0]-2) / ($_[0]+1)
|
||||
}
|
||||
|
||||
# most of the time is spent displaying the long numbers, actually
|
||||
print "$_\t", catalan($_), "\n" for 0 .. 10000;
|
||||
6
Task/Catalan-numbers/Perl/catalan-numbers-3.pl
Normal file
6
Task/Catalan-numbers/Perl/catalan-numbers-3.pl
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
use ntheory qw/binomial/;
|
||||
sub catalan {
|
||||
my $n = shift;
|
||||
binomial(2*$n,$n)/($n+1);
|
||||
}
|
||||
print "$_\t", catalan($_), "\n" for 0 .. 10000;
|
||||
Loading…
Add table
Add a link
Reference in a new issue