Best

• To: mathgroup at smc.vnet.net
• Subject: [mg28225] Best
• From: Domi <doud25 at caramail.com>
• Date: Thu, 5 Apr 2001 03:00:39 -0400 (EDT)
• Sender: owner-wri-mathgroup at wolfram.com

```Hello Mathematica experts out there,

Sometimes, we can choose some books "free" less than 400FF in a special
offer, in a "cadeau de bienvenue".

<< DiscreteMath`Combinatorica`
(* the prize of possible books choice in a list*)
prix  = Sort[{159, 139, 149, 99, 139, 160, 139, 149, 135, 149, 145, 99,
180, 129, 138, 119, 180, 145, 139, 139, 150, 119, 139, 120, 159, 159,
109,170}];
(* choice of 3 or 4 books *)
choix = Union[Union[KSubsets[prix, 4], KSubsets[prix, 3]]];

add[l_] := If[(s = Apply[Plus, l]) < 450 , If[s > 398, {l, {s}}, {}]
, {}];

prix = Sort[
Table[
{possibles[[i, 2]], possibles[[i, 1]]}, {i, 1,
Length[possibles]}]]

{{{399}, {99, 120, 180}}, {{399}, {109, 120, 170}}, {{399}, {109, 145,
145}}, {{399}, {119, 120, 160}}, {{399}, {119, 135, 145}}, {{399},
{120,129, 150}}, {{400}, {120, 135, 145}}, {{402}, {119, 138,145}},
{{402}, {129, 135, 138}}....
The solution for 3 "free" books is = 120 + 135 + 145 = 400
The less expensive for 4 books is = {426}, {99, 99, 109, 119}

Question: Is there a more elegant way to do that?

I would like resolve this inequation : min <= x1 + x2 + ...+ Xn <= max
where x1...xn can take some discret value in a set {v1,v2,..,vk}.

Regards from Domi.
(sorry for my so bad/poor english)

```

• Prev by Date: Help with a Fold/Outer one-liner
• Next by Date: Re: complex coefficients and rules...
• Previous by thread: Help with a Fold/Outer one-liner
• Next by thread: Ordering of output question