MathGroup Archive 2000

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: combinatoric card problem

  • To: mathgroup at smc.vnet.net
  • Subject: [mg25853] Re: combinatoric card problem
  • From: Alberto Ruiz <ARuiz at um.es>
  • Date: Wed, 1 Nov 2000 01:25:39 -0500 (EST)
  • Organization: University of Murcia, Spain
  • References: <8tdrsn$61d@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

Peter, a brute force idea is to try all the permutations
of numbers and operations:

f[1] = Plus;
f[2] = #1 - #2 &;
f[3] = Times;
f[4] = #1/#2 &;
f[5] = #2 - #1 &;
f[6] = #2/#1 &;

p[f[1]] = S;
p[f[2]] = R;
p[f[3]] = M;
p[f[4]] = Di;
p[f[5]] = Rc;
p[f[6]] = Dc;  (* some symbols chosen just to show the solutions *)

pf = Take[#, 3] & /@ Permutations[Array[f, 6]];
pn = Permutations[{6, 7, 8, 12}]; 

g[{f1_, f2_, f3_}, {a_, b_, c_, d_}] := 
  kk[f1[a, f2[b, f3[c, d]]], p[f1][a, p[f2][b, p[f3][c, d]]]]

bruteforce = Outer[g, pf, pn, 1] // Flatten;
Cases[bruteforce, kk[24, b_] -> b] // Union

{Dc[7, M[12, S[6, 8]]], 
 Dc[7, M[12, S[8, 6]]], 
 M[12, Dc[7, S[6, 8]]], 
 M[12, Dc[7, S[8, 6]]]}

Of course this can be improved in many ways...

Alberto

pw wrote:
> 
> In China they often play this card game:
> put four card on a table and try, as fast as possible, to arrive to the
> result 24 using only addtion subtraction multiplication and division.
> 
> ex. the cards: { hearts_6 ,hearts_7 ,clove_8 ,spades_king } gives the
> numbers:
> 
> {6,7,8,12}
> 
> and 12*(6+8)/7=24
> 
> Is there some way to do determine how to do this with mathematica, or maybe
> there is some way to determine if a certain quadruple can make the required
> result?
> 
> Peter W


  • Prev by Date: Re: About Parallel Computing
  • Next by Date: Re: Vertical Tangents
  • Previous by thread: About Parallel Computing
  • Next by thread: Re: combinatoric card problem