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:

  1. Die Ziffernsumme einer dreistelligen Zahl ist gleich 18.
  2. Die Hunderterstelle ist um 6 größer als das 2-fache der Zehnerstelle.
  3. Die Einerstelle ist um 6 größer als das 3-fache der Zehnerstelle.

Lösung:

Definiert man die Variablen h als die Hunderterziffer, z als die Zehnerziffer und e als die Einerziffer, so ist die Ziffernsumme gleich z + h + e. Aus der Aufgabenstellung lassen sich damit folgende drei Gleichungen aufstellen:

  1. Die Ziffernsumme einer dreistelligen Zahl ist 18:

    z + h + e = 18

  2. Die Hunderterstelle ist um 6 größer als das 2-fache der Zehnerstelle.

    h - 6 = 2 \cdot z

  3. Die Einerstelle ist um 6 größer als das 3-fache der Zehnerstelle.

    e - 6 = 3 \cdot z

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 8, die Zehnerziffer gleich 1 und die Einerziffer gleich 9. Die gesuchte Zahl lautet somit 819.