Re: Calculating a given total using only given specific values tia sal22
- To: mathgroup at smc.vnet.net
- Subject: [mg104320] Re: Calculating a given total using only given specific values tia sal22
- From: "Nasser M. Abbasi" <nma at 12000.org>
- Date: Tue, 27 Oct 2009 05:00:35 -0500 (EST)
- References: <hc38kb$i9r$1@smc.vnet.net>
"Rick T" <ratulloch at gmail.com> wrote in message news:hc38kb$i9r$1 at smc.vnet.net... > Calculating a given total using only given specific values > > Greetings All > > I'm trying to figure out a way to calculate a given total > using only given specific values. > > Example: > The total given is 46 > The numbers I can use are 56,38,20,12,4, and 1 > so the numbers it should use and come back with would be highest to > lowest > so it should be 38,4,and 4 because > these will add up to 46. Is there a name given to this type of > mathematics? > > And does anyone have an example of how to do this? > > tia sal22 > hummm... you say "so it should be 38,4,and 4" But 4 occurs one time in the list {56,38,20,12,4, and 1}, so then you want a number to possibly be repeated? Ok. Since the numbers in the list can be repeated, then _one_ way to solve this is to first try to solve the problem using the original list. If this fails (i.e. no combination is found which sums to 46), then I duplicated the list, and tried again, and so on. I used Subsets to find all possible combinations, added each comb, and see if it totals the number needed. If so, used Position to find its location in the Subsets. I am sure there are many other ways to solve this: check[list_, n_] := Module[{r, pos}, combs = Subsets[list]; pos = Flatten[Position[Total /@ combs, n]]; If[Length[pos] == 0, pos, combs[[pos]]] ] list = {56, 38, 20, 12, 4, 1}; n = 46; r = check[list, n]; While[Length[r] == 0, {list = Flatten[Append[list, list]]; r = check[list, n]} ]; Print[r]; { {38, 4, 4}, {4, 38, 4}, {20, 12, 1, 12, 1}, {20, 4, 1, 20, 1}, {20, 1, 20, 4, 1}, {12, 1, 20, 12, 1} } --Nasser
- Follow-Ups:
- Re: Rotating an Image
- From: Patrick Scheibe <pscheibe@trm.uni-leipzig.de>
- Rotating an Image
- From: "Ernst H.K. Stelzer" <stelzer@embl.de>
- Re: Rotating an Image