Ziffernsumme
------------
.. only:: html
.. sidebar:: Hinweis
Das Original dieser Maxima-Beispielaufgabe kann im Original `hier
`_
heruntergeladen werden. Die wxmx-Datei kann mit `WxMaxima
`_ geöffnet werden.
Bei dieser Aufgabe handelt es sich um eine Knobelaufgabe bzw. um eine einfache
Übungsaufgabe für lineare Gleichungssysteme.
*Aufgabe:*
Die Aufgabe besteht darin, eine dreistellige Zahl zu finden, die folgende
Bedingungen erfüllt:
1. Die Ziffernsumme einer dreistelligen Zahl ist gleich :math:`18`.
2. Die Hunderterstelle ist um :math:`6` größer als das :math:`2`-fache der
Zehnerstelle.
3. Die Einerstelle ist um :math:`6` größer als das :math:`3`-fache der
Zehnerstelle.
*Lösung:*
Definiert man die Variablen :math:`h` als die Hunderterziffer, :math:`z` als die
Zehnerziffer und :math:`e` als die Einerziffer, so ist die Ziffernsumme gleich
:math:`z + h + e`. Aus der Aufgabenstellung lassen sich damit folgende drei
Gleichungen aufstellen:
1. Die Ziffernsumme einer dreistelligen Zahl ist :math:`18`:
.. math::
z + h + e = 18
2. Die Hunderterstelle ist um :math:`6` größer als das :math:`2`-fache der
Zehnerstelle.
.. math::
h - 6 = 2 \cdot z
3. Die Einerstelle ist um :math:`6` größer als das :math:`3`-fache der
Zehnerstelle.
.. math::
e - 6 = 3 \cdot z
Dieses Gleichungsystem kann mittels :ref:`Sympy ` gelöst werden. Der
Code dazu lautet beispielsweise:
.. code-block:: python
import sympy as sy
# Sympy-Variablen initiieren:
h, z, e = sy.S( 'h z e'.split() )
# Gleichungssystem formulieren:
equations = [
sy.Eq( z + h + e , 18 ),
sy.Eq( h - 6 , 2*z ),
sy.Eq( e - 6 , 3*z ),
]
# Gleichungssystem lösen:
sy.solve(equations)
# Ergebnis: {h: 8, z: 1, e: 9}
Die Hunderterziffer ist gleich :math:`8`, die Zehnerziffer gleich :math:`1` und
die Einerziffer gleich :math:`9`. Die gesuchte Zahl lautet somit :math:`819`.