Rutas
/
Julia
Julia
/
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.

Implementación

Note

Puede que quieras (¡o puede que no!) llamar a la función permutations(a, t) de Combinatorics.jl en tu solución.

  • Si trabajas en el editor en línea, puedes llamar a permutations(a ,t) sin problema, porque ya está en el espacio de nombres. Puedes ver el código fuente en la pestaña etiquetada permutations.jl.
  • Si trabajas en local, añade include("permutations.jl") al principio de tu archivo de solución para acceder a una versión de permutations(a, t) que se encuentra ahí.
Caution

Si usas Combinatorics.jl v1.0.3 en local, permutations(a, t) es muy lenta con los tests grandes. Usa el archivo proporcionado permutations.jl, actualiza a Combinatorics.jl v≥1.1.0 o «baja» a v1.0.2.

Editar en GitHub El enlace se abre en una ventana o pestaña nueva
Julia Exercism

¿Listo para empezar Alfamética?

Regístrate en Exercism para aprender y dominar Julia con 35 conceptos128 ejercicios y mentoría humana real, todo gratis.