aboutsummaryrefslogtreecommitdiff
path: root/challenge-201/deadmarshal/perl/ch-2.pl
blob: 5d30215883a9bd7031d9310a48c2ce55b9fdcdf6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#!/usr/bin/env perl
use strict;
use warnings;

my ($count,@arr) =(0,(0) x 5);
penny_piles(\@arr,0,5,5);
print "$count\n";

sub penny_piles{
  my ($arr,$index,$num,$reducednum) = @_;
  return if $reducednum < 0;
  do{$count++; return} if $reducednum == 0;
  my $prev = $index == 0 ? 1 : $arr->[$index-1];
  foreach my $i($prev..$num){
    $arr->[$index] = $i;
    penny_piles($arr,$index+1,$num,$reducednum-$i);
  }
}