MathGroup Archive 2006

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

Search the Archive

Re: Arithmetic Puzzle (so simple it's hard)

  • To: mathgroup at smc.vnet.net
  • Subject: [mg71392] Re: Arithmetic Puzzle (so simple it's hard)
  • From: "Scout" <Scout at nodomain.com>
  • Date: Thu, 16 Nov 2006 00:53:59 -0500 (EST)
  • References: <ejc4pv$6nf$1@smc.vnet.net>

Some years ago I wrote a routine that looked for all the solutions to this 
type of game with the substitution of all the digits and the operators 
("*","+","-","/") in the Integers.
"Doubly True" is the name of this game If I remember well...

A brute approach in this case helps:

    In[1]:= <<DiscreteMath`Combinatorica`

    In[2]:=
        s=ToUpperCase["but*ask==feast"]
        s2=StringCases[s,LetterCharacter];
        unicChs=Union[Flatten[Characters[ToUpperCase[s2]]]];
        l=Length[unicChs];
        digs=CharacterRange["0","9"];
        p=Take[digs,l];
        ks=p;

        Do[
            Do[
              test=StringReplace[s,Thread[unicChs->p]];
              If[ToExpression[test],Print[test]];
              p=NextPermutation[p],
              {l!}];
            ks=NextKSubset[digs,ks];
            p=ks,
         {Binomial[10,l]}];



Well formed solutions:

    160*283==45280
    630*124==78120
    670*142==95140
    540*128==69120
    165*439==72435


Bye,
  ~Scout~

"Bruce Colletti" <vze269bv at verizon.net>
news:ejc4pv$6nf$1 at smc.vnet.net...
> How would this problem be solved in Mathematica?
>
> BUT * ASK = FEAST, where each letter is a 1-digit number, no two letters 
> may stand for the same number, and the letters are in {0,1,2,4,5,6,7,9}.
>
> Thankx.
>
> Bruce
> 


  • Prev by Date: Re: Define a matrix function with size as argument
  • Next by Date: RE: Mathematica and other programs (FEM, FEA)
  • Previous by thread: Re: Arithmetic Puzzle (so simple it's hard)
  • Next by thread: Re: Re: Arithmetic Puzzle (so simple it's hard)