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