Rutas
/
F#
F#
/
Ejercicios
/
Alfamética
Alfamética

Alfamética

Difícil

Instrucciones

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.

Pistas

  • Para analizar el texto, puedes probar a usar la biblioteca FParsec.
  • Puedes resolver este ejercicio con un algoritmo de fuerza bruta, pero es posible que tenga un rendimiento pobre en tiempo de ejecución. Intenta encontrar una solución más sofisticada. Pista: puedes probar con el algoritmo de suma por columnas que se suele enseñar en la escuela.
Editar en GitHub El enlace se abre en una ventana o pestaña nueva
F# Exercism

¿Listo para empezar Alfamética?

Regístrate en Exercism para aprender y dominar F# con 18 conceptos148 ejercicios y mentoría humana real, todo gratis.