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.
Você pode resolver este exercício com um algoritmo de força bruta, mas isso provavelmente vai ter um desempenho ruim em tempo de execução. Tente encontrar uma solução mais sofisticada. Dica: você pode tentar o algoritmo de soma coluna por coluna que normalmente é ensinado no ensino médio.
Crie sua conta no Exercism para aprender e dominar Haskell com 107 exercícios e mentoria humana de verdade, tudo de graça.