Implementieren Sie einen verbalen arithmetischen Löser aus mehreren gleichen Zahlenfolgen, die zusammenaddiert werden:
TWO
+ TWO
-----
FOUR
REPEAT
REPEAT
REPEAT
+ REPEAT
--------
ANDSTOP
SPEED
+ SPEED
-------
KILLS
Es gibt einige Einschränkungen: Jeder Buchstabe sollte unterschiedliche Ziffern darstellen, und kein Buchstabe darf Null sein.
Implementieren Sie den Solver als Funktion der Operanden. Die Summe und Anzahl der Wiederholungen gibt eine Liste der Lösungen zurück (Lösung: das Tupel des resultierenden Operanden und der Summe). Zum Beispiel:
f(['T','W','O'], ['F','O','U','R'], 2) == [(734, 1468)]
Sie müssen Variablen nicht als Buchstaben darstellen und in der Lösung keinen Hash verwenden. Brute-Force-Suche erlaubt.
Der kürzeste Code gewinnt.