Dado un puzle de alphametics, encuentra la solución correcta.
La alphametics es un puzle en el que las letras de las palabras se sustituyen por números.
Por ejemplo, SEND + MORE = MONEY:
S E N D
M O R E +
-----------
M O N E Y
Si sustituimos estas letras por números válidos, obtenemos:
9 5 6 7
1 0 8 5 +
-----------
1 0 6 5 2
Esto es correcto porque cada letra se sustituye por un número diferente y las palabras, convertidas en números, forman una suma válida.
Cada letra debe representar un dígito diferente, y el primer dígito de un número de varias cifras no puede ser cero.
Puedes resolver este ejercicio con un algoritmo de fuerza bruta, pero es posible que su rendimiento de ejecución no sea bueno. Intenta encontrar una solución más sofisticada. Pista: podrías probar el algoritmo de suma por columnas que se suele enseñar en el instituto.
Regístrate en Exercism para aprender y dominar Haskell con 107 ejercicios y mentoría humana real, todo gratis.