Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw

Re: puzzle: how many ways to make $100

by TedPride (Priest)
on Apr 29, 2006 at 04:51 UTC ( #546466=note: print w/ replies, xml ) Need Help??

in reply to puzzle: how many ways to make $100

Perhaps not the most beautiful or efficient thing in the world, but it works:

use strict; use warnings; find(100, [], [100, 50, 20, 10, 5, 2, 1]); sub find { my $left = $_[0]; my @set = @{$_[1]}; my ($denom, @denom) = @{$_[2]}; print join(', ', map { "($_->[1] $_->[0]'s)" } @set), "\n" if !$le +ft; return if !$left || !$denom; find($left, [@set], [@denom]); for (1..($left / $denom)) { find(($left - $denom * $_), [@set, [$denom, $_]], [@denom]); } }

Comment on Re: puzzle: how many ways to make $100
Download Code

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others musing on the Monastery: (7)
As of 2014-09-16 23:44 GMT
Find Nodes?
    Voting Booth?

    How do you remember the number of days in each month?

    Results (53 votes), past polls