Trilhas
/
AWK
AWK
/
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.

Entrada

Seu script receberá o quebra-cabeça alfanumérico como uma única string via entrada padrão (stdin). A string do quebra-cabeça segue o formato WORD1 + WORD2 + ... == RESULT.

Por exemplo:

SEND + MORE == MONEY

Saída

Se o quebra-cabeça tiver solução, imprima uma única linha composta de pares LETTER=DIGIT separados por espaço, ordenados alfabeticamente pela letra.

Para o exemplo acima, a saída deve ser:

D=7 E=5 M=1 N=6 O=0 R=8 S=9 Y=2

Se o quebra-cabeça tiver várias soluções válidas, imprimir qualquer uma delas é aceitável.

Se o quebra-cabeça não tiver solução, não imprima nada (uma linha vazia).

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

Tudo pronto para começar Alphametics?

Crie sua conta no Exercism para aprender e dominar AWK com 3 conceitos92 exercícios e mentoria humana de verdade, tudo de graça.