Tracks
/
AWK
AWK
/
Übungen
/
Alphametik
Alphametik

Alphametik

Schwer

Anleitung

Gegeben ist ein Alphametik-Rätsel. Finde die richtige Lösung.

Alphametik ist ein Rätsel, bei dem Buchstaben in Wörtern durch Zahlen ersetzt werden.

Zum Beispiel SEND + MORE = MONEY:

  S E N D
  M O R E +
-----------
M O N E Y

Setzt man gültige Zahlen ein, erhält man:

  9 5 6 7
  1 0 8 5 +
-----------
1 0 6 5 2

Das ist richtig, weil jeder Buchstabe durch eine andere Zahl ersetzt wird und die Wörter, in Zahlen übersetzt, eine gültige Summe ergeben.

Jeder Buchstabe muss eine andere Ziffer darstellen, und die führende Ziffer einer mehrstelligen Zahl darf nicht null sein.

Eingabe

Dein Skript erhält das alphametische Rätsel als einzelnen String über die Standardeingabe (stdin). Der Rätsel-String hat das Format WORD1 + WORD2 + ... == RESULT.

Zum Beispiel:

SEND + MORE == MONEY

Ausgabe

Wenn das Rätsel eine Lösung hat, gib eine einzelne Zeile aus, die aus durch Leerzeichen getrennten LETTER=DIGIT-Paaren besteht, alphabetisch nach Buchstabe sortiert.

Für das Beispiel oben sollte die Ausgabe so aussehen:

D=7 E=5 M=1 N=6 O=0 R=8 S=9 Y=2

Wenn das Rätsel mehrere gültige Lösungen hat, ist es in Ordnung, eine beliebige davon auszugeben.

Wenn das Rätsel keine Lösung hat, gib nichts aus (eine leere Zeile).

Über GitHub bearbeiten Der Link öffnet sich in einem neuen Fenster oder Tab
AWK Exercism

Bereit, mit Alphametik zu starten?

Melde dich bei Exercism an, um AWK mit 3 Konzepte92 Übungen und echtem menschlichen Mentoring zu lernen und zu meistern, alles kostenlos.