MathGroup Archive 2003

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

Search the Archive

Re: Solving Alphametics with Mathematica

  • To: mathgroup at smc.vnet.net
  • Subject: [mg38679] Re: Solving Alphametics with Mathematica
  • From: David Jameson <nospam at nospam.digiportal.com>
  • Date: Sat, 4 Jan 2003 07:26:48 -0500 (EST)
  • References: <auuaku$pjh$1@smc.vnet.net> <av36pf$g00$1@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

OK - I think I mostly understand this algorithm. A couple of questions.

*) I'd like to be able to generalise it so that it's not limited to this
particular sum (base+ball=games). Can the '5' in the first line be changed
so that it is calculated from the argument list rather than being
hard-coded?

*) Same for the '7' in the MatchQ function

*) Same for the '5' in the Table function

*) As well as the result, how can we display the value of each character,
which is in fact the real goal?

Finally, I note that a little 'manual' work was done to determine which
characters are in the operands but not in the result. It would be nice if
this could also be 'calculated' so that one could simply feed this program
the string
       base+ball=games
and have the result figured out.


Thanks,
David
--


____________________________
Dr. David H. Jameson
Founder and CTO
DigiPortal Software Inc.


There's too much spam out there.
Protect yourself with ChoiceMail
http://www.digiportal.com

"Orestis Vantzos" <atelesforos at hotmail.com> wrote in message
news:av36pf$g00$1 at smc.vnet.net...
> A fairly literal implementation of the problem:
>
> criterion[lst:{b_,a_,s_,e_,l_}]/;Length[Union[lst]]==5:=
>   Module[{base=FromDigits[{b,a,s,e}],ball=FromDigits[{b,a,l,l}],games},
>     games=IntegerDigits[base+ball];
>     MatchQ[games,{g_,a,m_,e,s}/;Length[Union[{g,m},lst]]==7]]
>
> criterion[_]=False;
>
> Table[If[criterion@IntegerDigits[n, 10, 5], Print[n]], {n, 0, 10^5 - 1}];
>
> 74835
>
> Which means that B=7,A=4,S=8,E=3,L=5,
> so that:
> BASE+BALL=GAMES
> is
> 7483+7455=14938
>
> Orestis
> David Jameson <nospam at nospam.digiportal.com> wrote in message
news:<auuaku$pjh$1 at smc.vnet.net>...
> > Anyone know how to use Mathematic to solve Alphametics puzzles?
> > For example, the sum
> >
> >    B A S E
> > +  B A L L
> > -------------------
> >  G A M E S
> >
> > has only one solution in base 10. I've tried several ways of represent
this
> > "sum" in Mathematica but have not been able to get it to solve it.
> >
> > There are lots of other examples of these puzzles at
> > http://www.creativepuzzels.nl/spel/speel1/frameng.htm
> > if anyone is interested.
> >
> > Cheers,
> > David Jameson
>



  • Prev by Date: Re: Re: RE: Options in ListPlot and Plot
  • Next by Date: MathROOT version 0.8.2.0 (stable) released
  • Previous by thread: Re: Re: Solving Alphametics with Mathematica
  • Next by thread: Re: Solving Alphametics with Mathematica