Trilhas
/
Julia
Julia
/
Exercícios
/
Alphametics
Alphametics

Alphametics

Difícil

Instruções

Dado um quebra-cabeça de alfamética, encontre a solução correta.

A alfamética é um quebra-cabeça 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 as letras por números válidos, temos:

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

Isso está correto porque cada letra é substituída por um número diferente, e as palavras, traduzidas em números, formam uma soma válida.

Cada letra deve representar um dígito diferente, e o primeiro dígito de um número com vários dígitos não pode ser zero.

Implementação

Note

Você pode querer (ou não!) chamar a função permutations(a, t) de Combinatorics.jl na sua solução.

  • Se você estiver trabalhando no editor online, pode chamar permutations(a ,t) à vontade, porque ela já está no namespace. Você pode ver o código-fonte na aba chamada permutations.jl.
  • Se estiver trabalhando localmente, adicione include("permutations.jl") no topo do seu arquivo de solução para acessar uma versão de permutations(a, t) que fica lá.
Caution

Se você usar o Combinatorics.jl v1.0.3 localmente, permutations(a, t) é muito lenta nos testes grandes. Use o arquivo permutations.jl fornecido, atualize para Combinatorics.jl v≥1.1.0 ou faça um "downgrade" para v1.0.2.

Editar via GitHub O link abre em uma nova janela ou aba
Julia Exercism

Tudo pronto para começar Alphametics?

Crie sua conta no Exercism para aprender e dominar Julia com 35 conceitos128 exercícios e mentoria humana de verdade, tudo de graça.