DMUG-Archiv 1998

Frühere

 

Chronologischer Index

 

Spätere

Vorherige

 

Thematischer Index

 

Nächste

Re: Periodischer Dezimalbruch

EVE/DID=0.talktalk...

Man kann auch mit der rechten Seite beginnen:
Der Wert der Bruches ist talk/9999. Von allen Möglichkeiten filtert
man dann die aus, die aus einem dreistelligen Zähler und Nenner bestehen,
wobei die Ziffern EVDITALK alle verschieden sind, was zwar nicht in
der Aufgabenstellung steht, aber in solchen Problemen meist angenommen
wird.

Damit findet man nur die gekürzten Lösungen, wo also EVE und DID keinen
gemeinsamen Teiler haben. Die erste Lösung von Rolf Mertig ist nicht
gekürzt. Werden nur gekürzte Lösungen zugelassen, ist die Lösung eindeutig.


Hilfsfunktion, die führende Nullen hinzufügt, so daß die Ziffernliste
mindestens die Länge drei hat:

In[1]:= fill3[n_Integer] := With[{z=IntegerDigits[n]},
        Join[Table[0,{Max[0,3-Length[z]]}], z]]

Bestimme Ziffern von Zähler, Nenner, und der rechten Seite:

In[2]:= digs[b:{t_,a_,l_,k_}] := With[{r=(1000t + 100a + 10l + k)/9999},
                {fill3[Numerator[r]], fill3[Denominator[r]], b}]

Alle Folgen von vier Ziffern:

In[3]:= Flatten[Array[{##}&, {10,10,10,10},0], 3] // Short

Out[3]//Short= {{0, 0, 0, 0}, {0, 0, 0, 1}, {0, 0, 0, 2}, <<9996>>, 
 
>    {9, 9, 9, 9}}

Die dazugehörigen Listen {E,V,E}, {D,I,D},{T,A,L,K}:

In[4]:= digs /@ % // Short

Out[4]//Short= {{{0, 0, 0}, {0, 0, 1}, {0, 0, 0, 0}}, <<9999>>}

Alle "guten", läßt sich elegant mit Pattern Matching lösen:

In[5]:= Cases[%, {{e_,v_,e_},{d_,i_,d_},{t_,a_,l_,k_}}/;
                 e!=v!=d!=i!=t!=a!=l!=k]

Out[5]= {{{2, 4, 2}, {3, 0, 3}, {7, 9, 8, 6}}}

(*also 242/303 = 0.7986... *)

In[6]:= $Version

Out[6]= Solaris 3.0 (September 27, 1996)


Roman Mäder



Antworten:
Re: Periodischer Dezimalbruch
Rolf Mertig, 11.12.1996
Verweise:
Re: EVE/DID
Rolf Mertig, 11.12.1996

Frühere

 

Chronologischer Index

 

Spätere

Vorherige

 

Thematischer Index

 

Nächste

DMUG-Archiv, http://www.mathematica.ch/dmug-liste.html; Letzte Änderung: 08.09.2003 20:44