Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery
 
PerlMonks  

Re^2: Perl ARRAY() result

by BillKSmith (Monsignor)
on Jan 14, 2019 at 14:56 UTC ( [id://1228535]=note: print w/replies, xml ) Need Help??


in reply to Re: Perl ARRAY() result
in thread Perl ARRAY() result

OK stevieb, here is the original OP code with only the print statement corrected as described in my first post. A sample execution demonstrates that the expected output is produced.
>type pviki.pl use strict; use warnings; sub Solve { my ($goal, $elements) = @_; # For extra speed, you can remove this next line my (@results, $RecursiveSolve, $nextValue); $RecursiveSolve = sub { my ($currentGoal, $included, $index) = @_; for ( ; $index < @$elements; ++$index) { $nextValue = $elements->[$index]; # Since elements are sorted, there's no point in trying a # non-final element unless it's less than goal/2: if ($currentGoal > 2 * $nextValue) { $RecursiveSolve->($currentGoal - $nextValue, [ @$included, $nextValue ], $index + 1); } else { #print "@$_\n", [ @$included, $nextValue ] local $, = q(, ); print @$included, $nextValue, "\n" if $currentGoal == $nextValue; return if $nextValue >= $currentGoal; } } # end for }; # end $RecursiveSolve $RecursiveSolve->($goal, [], 0); undef $RecursiveSolve; # Avoid memory leak from circular reference return @results; } # end Solve my @results = Solve(869, [15, 43, 51, 56, 60, 67, 122, 152, 193, 204, +229, 271, 293, 301] ); >perl pviki.pl 15, 43, 51, 56, 60, 122, 229, 293, 15, 43, 51, 56, 204, 229, 271, 15, 43, 51, 67, 193, 229, 271, 15, 43, 51, 122, 152, 193, 293, 15, 56, 60, 67, 122, 152, 193, 204, 15, 56, 60, 122, 152, 193, 271, 15, 56, 204, 293, 301, 15, 67, 193, 293, 301, 43, 51, 56, 67, 122, 229, 301, 43, 51, 56, 67, 152, 229, 271, 43, 51, 60, 193, 229, 293, 43, 122, 204, 229, 271, 56, 60, 67, 122, 271, 293, 56, 67, 152, 293, 301,
Bill

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1228535]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others imbibing at the Monastery: (3)
As of 2024-04-20 02:50 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found