Ziffernsumme¶
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:
- Die Ziffernsumme einer dreistelligen Zahl ist gleich 
. - Die Hunderterstelle ist um 
 größer als das 
-fache der
Zehnerstelle. - Die Einerstelle ist um 
 größer als das 
-fache der
Zehnerstelle. 
Lösung:
Definiert man die Variablen 
 als die Hunderterziffer, 
 als die
Zehnerziffer und 
 als die Einerziffer, so ist die Ziffernsumme gleich
. Aus der Aufgabenstellung lassen sich damit folgende drei
Gleichungen aufstellen:
Die Ziffernsumme einer dreistelligen Zahl ist
:
Die Hunderterstelle ist um
 größer als das 
-fache der
Zehnerstelle.
Die Einerstelle ist um
 größer als das 
-fache der
Zehnerstelle.
Dieses Gleichungsystem kann mittels Sympy gelöst werden. Der Code dazu lautet beispielsweise:
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 
, die Zehnerziffer gleich 
 und
die Einerziffer gleich 
. Die gesuchte Zahl lautet somit 
.