Dado um puzzle de alfamética, encontra a solução correta.
A alfamética é um puzzle em que as letras das palavras são substituídas por números.
Por exemplo, SEND + MORE = MONEY:
S E N D
M O R E +
-----------
M O N E Y
Substituindo estas letras por números válidos, obtemos:
9 5 6 7
1 0 8 5 +
-----------
1 0 6 5 2
Isto está correto porque cada letra é substituída por um número diferente e, traduzidas as palavras em números, formam uma soma válida.
Cada letra tem de representar um algarismo diferente, e o algarismo inicial de um número com vários algarismos não pode ser zero.
Podes (ou não!) querer chamar a função permutations(a, t) de Combinatorics.jl na tua solução.
permutations(a ,t) à vontade, uma vez que já está no espaço de nomes. Podes ver o código-fonte no separador com a etiqueta permutations.jl.include("permutations.jl") ao início do teu ficheiro de solução para acederes à versão de permutations(a, t) que está lá.Se usares Combinatorics.jl v1.0.3 localmente, a função permutations(a, t) é muito lenta nos testes grandes.
Usa o ficheiro fornecido permutations.jl, atualiza para Combinatorics.jl v≥1.1.0 ou "desce" para v1.0.2.
Inscreve-te no Exercism para aprenderes e dominares Julia com 35 conceitos128 exercícios, e mentoria humana real, tudo grátis.