Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
8
Task/Pascals-triangle/Perl/pascals-triangle-1.pl
Normal file
8
Task/Pascals-triangle/Perl/pascals-triangle-1.pl
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
sub pascal {
|
||||
my $rows = shift;
|
||||
my @next = (1);
|
||||
for my $n (1 .. $rows) {
|
||||
print "@next\n";
|
||||
@next = (1, (map $next[$_]+$next[$_+1], 0 .. $n-2), 1);
|
||||
}
|
||||
}
|
||||
7
Task/Pascals-triangle/Perl/pascals-triangle-2.pl
Normal file
7
Task/Pascals-triangle/Perl/pascals-triangle-2.pl
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
use ntheory qw/binomial/;
|
||||
sub pascal {
|
||||
my $rows = shift;
|
||||
for my $n (0 .. $rows-1) {
|
||||
print join(" ", map { binomial($n,$_) } 0 .. $n), "\n";
|
||||
}
|
||||
}
|
||||
3
Task/Pascals-triangle/Perl/pascals-triangle-3.pl
Normal file
3
Task/Pascals-triangle/Perl/pascals-triangle-3.pl
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
use bignum;
|
||||
sub pascal_line { $_[0] ? unpack "A(A6)*", 1000001**$_[0] : 1 }
|
||||
sub pascal { print "@{[map -+-$_, pascal_line $_]}\n" for 0..$_[0]-1 }
|
||||
34
Task/Pascals-triangle/Perl/pascals-triangle-4.pl
Normal file
34
Task/Pascals-triangle/Perl/pascals-triangle-4.pl
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
#!/usr/bin/perl
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
{
|
||||
my @tartaglia ;
|
||||
sub tartaglia {
|
||||
my ($x,$y) = @_;
|
||||
if ($x == 0 or $y == 0) { $tartaglia[$x][$y]=1 ; return 1};
|
||||
my $ret ;
|
||||
foreach my $yps (0..$y){
|
||||
$ret += ( $tartaglia[$x-1][$yps] || tartaglia($x-1,$yps) );
|
||||
}
|
||||
$tartaglia[$x][$y] = $ret;
|
||||
return $ret;
|
||||
}
|
||||
}
|
||||
sub tartaglia_row {
|
||||
my $y = shift;
|
||||
my $x = 0;
|
||||
my @row;
|
||||
$row[0] = &tartaglia($x,$y+1);
|
||||
foreach my $pos (0..$y-1) {push @row, tartaglia(++$x,--$y)}
|
||||
return @row;
|
||||
}
|
||||
|
||||
|
||||
for (0..5) {print join ' ', tartaglia_row($_),"\n"}
|
||||
print "\n\n";
|
||||
|
||||
|
||||
print tartaglia(3,3),"\n";
|
||||
my @third = tartaglia_row(5);
|
||||
print "@third\n";
|
||||
Loading…
Add table
Add a link
Reference in a new issue