18 lines
370 B
Plaintext
18 lines
370 B
Plaintext
|
|
|
|
###
|
|
### find_share.pl
|
|
###
|
|
|
|
## Chapter 1 section 8.2
|
|
|
|
sub find_share {
|
|
my ($target, $treasures) = @_;
|
|
return [] if $target == 0;
|
|
return if $target < 0 || @$treasures == 0;
|
|
my ($first, @rest) = @$treasures;
|
|
my $solution = find_share($target-$first, \@rest);
|
|
return [$first, @$solution] if $solution;
|
|
return find_share($target , \@rest);
|
|
}
|