Tracks
/
F#
F#
/
Ejercicios
/
Alfamética
Alfamética

Alfamética

Difícil

Instrucciones

Dado un acertijo de alfamética, encuentra la solución correcta.

La alfamética es un acertijo en el que las letras de las palabras se reemplazan por números.

Por ejemplo, SEND + MORE = MONEY:

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

Si reemplazas esas letras por números válidos, obtienes:

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

Esto es correcto porque cada letra se reemplaza por un número distinto y las palabras, convertidas en números, forman una suma válida.

Cada letra debe representar un dígito distinto, y el primer dígito de un número de varios dígitos no puede ser cero.

Pistas

  • Para analizar el texto, puedes intentar 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 el algoritmo de suma por columnas que normalmente se enseña en la escuela.
Editar en GitHub El enlace se abre en una ventana o una pestaña nuevas
F# Exercism

¿Todo 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.