[Tutor] Re: A small math puzzle [recreational Python]

Daniel Ajoy dajoy@operamail.com
Sun, 6 Jan 2002 18:55:49 -0500


On 6 Jan 2002 at 16:00, tutor-request@python.org wrote:

> > I believe these are the values (84):
>
> Hmm, both my and Danny Yoo's solutions gave 168 distinct rearrangements (or
> derangements, or whatever!).
> I'll do a quick check, by removing all the words you have supplied from the
> derangements my function provides, and see if the remaining words are in
> fact derangements.
>
> ...a couple of minutes later...
>
> This is what I got back after removing the words:-
>
> ['ATSREE', 'ATESER', 'ATESRE', 'ATERES', 'ASTREE', 'ASERET', 'ASERTE',
> 'ASETRE', 'ASETER', 'ARETES', 'ARESTE', 'ARESET', 'ARTSEE', 'ARSTEE',
> 'SATREE', 'SAERET', 'SAERTE', 'SAETRE', 'SAETER', 'SRETAE', 'SREATE',
> 'SREAET', 'SRTAEE', 'SRATEE', 'STAREE', 'STEAER', 'STEARE', 'STERAE',
> 'RTASEE', 'RTSAEE', 'RTESAE', 'RTEAES', 'RATSEE', 'RASTEE', 'RAETES',
> 'RAESTE', 'RAESET', 'RSATEE', 'RSETAE', 'RSEATE', 'RSEAET', 'RSTAEE',
> 'ERESAT', 'ERETAS', 'EREATS', 'ERTAES', 'ERTSAE', 'ERATES', 'ERASTE',
> 'ERASET', 'ERSATE', 'ERSAET', 'ERSTAE', 'ETARES', 'ETASRE', 'ETASER',
> 'ETSARE', 'ETSAER', 'ETSRAE', 'ETESAR', 'ETERAS', 'ETEARS', 'EATRES',
> 'EATSRE', 'EATSER', 'EASTRE', 'EASTER', 'EASRET', 'EASRTE', 'EAESTR',
> 'EAESRT', 'EAERTS', 'EAETRS', 'ESATRE', 'ESATER', 'ESARET', 'ESARTE',
> 'ESEATR', 'ESEART', 'ESERAT', 'ESETAR', 'ESTRAE', 'ESTARE', 'ESTAER']
>
> Must be something wrong, as these are derangements.

Lets see, "ATSREE" is below, "ATESER" is also below... I think
you are counting double. I think its because "TERESA" has 2 E's
168 = 84 * 2

> > ETERAS ETESAR ETEARS ETSRAE ETSARE ETSAER ETARES
> > ETASRE ETASER ERTSAE ERTAES ERETAS ERESAT EREATS
> > ERSTAE ERSATE ERSAET ERATES ERASTE ERASET ESTRAE
> > ESTARE ESTAER ESETAR ESERAT ESEATR ESEART ESATRE
> > ESATER ESARTE ESARET EATRES EATSRE EATSER EAETRS
> > EAERTS EAESTR EAESRT EASTRE EASTER EASRTE EASRET
> > RTESAE RTEAES RTSAEE RTASEE RSTAEE RSETAE RSEATE
> > RSEAET RSATEE RATSEE RAETES RAESTE RAESET RASTEE
> > STERAE STEARE STEAER STAREE SRTAEE SRETAE SREATE
> > SREAET SRATEE SATREE SAETRE SAETER SAERTE SAERET
> > ATERES ATESRE ATESER ATSREE ARTSEE ARETES ARESTE
> > ARESET ARSTEE ASTREE ASETRE ASETER ASERTE ASERET

Daniel