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 .