[Date Index]
[Thread Index]
[Author Index]
Re: Turning a Sequence into a List?
*To*: mathgroup at smc.vnet.net
*Subject*: [mg130502] Re: Turning a Sequence into a List?
*From*: Bob Hanlon <hanlonr357 at gmail.com>
*Date*: Tue, 16 Apr 2013 04:22:44 -0400 (EDT)
*Delivered-to*: l-mathgroup@mail-archive0.wolfram.com
*Delivered-to*: l-mathgroup@wolfram.com
*Delivered-to*: mathgroup-newout@smc.vnet.net
*Delivered-to*: mathgroup-newsend@smc.vnet.net
*References*: <20130416043512.037096A2B@smc.vnet.net>
Just put list brackets around the sequence.
minCoin[sol_List]:=
Module[{m=Min[(q+d+n+p)/.sol]},
Select[sol,((q+d+n+p)/.#)==m&][[1]]]
v=Range[52,53];
sol={Reduce[
25q+10d+5n+p==#&&0<=p<5&&
0<=n<2&&0<=d<3&&0<=q<4,
{q,d,n,p},Integers]//ToRules}&/@v;
minCoin/@sol//Column
{q->2,d->0,n->0,p->2}
{q->2,d->0,n->0,p->3}
Or use Solve rather than Reduce
sol=Solve[
25q+10d+5n+p==#&&0<=p<5&&
0<=n<2&&0<=d<3&&0<=q<4,
{q,d,n,p},Integers]&/@v;
minCoin/@sol//Column
{q->2,d->0,n->0,p->2}
{q->2,d->0,n->0,p->3}
Bob Hanlon
On Tue, Apr 16, 2013 at 12:35 AM, Rob <rob at piovere.com> wrote:
> Hello, I'm playing with a problem with minimum coins to make change.
> Here's a problem spot where I look at ways to make up 52 and 53 cents
> (later I'll use v = Range[1,99].
>
> v=Range[52,53];
> sol=(Reduce[25q+10d+5n+p==# &&0<=p<5 &&0<=n<2 &&0<=d<3
> &&0<=q<4,{q,d,n,p},Integers])& /@v
>
> (* which gives {(q == 1 && d == 2 && n == 1 && p == 2) || (q == 2 && d
> == 0 &&
> n == 0 && p == 2), (q == 1 && d == 2 && n == 1 &&
> p == 3) || (q == 2 && d == 0 && n == 0 && p == 3)} *)
>
> There are two cases for each coin and I need to pick the one with the
> smallest number of coins. But the only way I know to begin that is with
> a list of rules. I can get a Sequence for the first element of the List
> sol but I can't figure how to get the Sequence to a list.
>
> x = (sol[[1]]) // ToRules
> (* Sequence[{q -> 1, d -> 2, n -> 1, p -> 2}, {q -> 2, d -> 0, n -> 0,
> p -> 2}] *)
>
> I've always had problems figuring out what a Sequence is and the HELP
> doesn't really help me. Can someone please suggest how I can use this
> sequence to select the {q,d,n,p} set that has the minimum coin count?
> It's got me stumped. Thanks.
>
> --
>
>
>
Prev by Date:
**Re: Turning a Sequence into a List?**
Next by Date:
**Re: Plot with axes exchanged**
Previous by thread:
**Turning a Sequence into a List?**
Next by thread:
**Re: Turning a Sequence into a List?**
| |