Gleichung mit Buchstaben die für verschiedene Ziffern stehen



  • Hallo ich muss für mein Studium ein C-Pogramm aus dieser Aufgabenstellung heraus.

    Ein Schüler schreibt aus dem Ausland eine E-Mail an seinen Vater in Deutschland mit folgendem Betreff: „send more money“. Der Vater schreibt zurück: „Löse folgende Aufgabe und du bekommst den Betrag des Ergebnisses in Euro: In der Gleichung unten steht jeder Buchstaben stellvertretend für genau eine Ziffer.

    send + more = money

    Gleiche Buchstaben stehen für gleiche Ziffern, verschiedene Buchstaben stehen für verschiedene Ziffern. Finde die Lösung mit dem größten Betrag.“

    Schreibt ein C-Programm zur Lösung der Aufgabe. Es ist nicht erlaubt, die while-Schleife zu verwenden. Benutzt bitte beim Programmieren nur for-Schleifen und if-Abfragen.

    Ich weiß zwar wie die Syntax für for-Schleifen und If-Anweisungen ist aber habe leider keinen Ansatz für diese Aufgabe.

    Ich hoffe mir kann dabei jemand helfen


  • Mod

    Eine ganz einfache Idee: Da sind 8 verschiedene Buchstaben, die 10 verschiedene Werte annehmen können. Ein moderner Computer probiert dir alle Möglichkeiten in wenigen Minuten durch. Dann musst du nur gucken, ob a) Die Gleichung passt und b) bei welcher der Kombinationen bei der die Gleichung passt der größte wert für money rauskommt.

    Dies ist zwar ein beschämend einfaches Verfahren, aber wenn du selber noch nicht einmal auf diesen Ansatz gekommen bist, lasse ich schnellere, kompliziertere Verfahren mal lieber weg.



  • In Wikipedia ist genau das Beispiel inklusive Lösungsverfahren angegeben: http://en.wikipedia.org/wiki/Verbal_arithmetic


Log in to reply