June 2018 Update
This commit is contained in:
parent
ba8067c3b7
commit
22f33d4004
5278 changed files with 84726 additions and 14379 deletions
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