Dato un puzzle di alphametics, trova la soluzione corretta.
L'Alphametics è un puzzle in cui le lettere delle parole vengono sostituite con dei numeri.
Per esempio, SEND + MORE = MONEY:
S E N D
M O R E +
-----------
M O N E Y
Sostituendo queste lettere con dei numeri validi si ottiene:
9 5 6 7
1 0 8 5 +
-----------
1 0 6 5 2
Il risultato è corretto perché ogni lettera è sostituita da un numero diverso e le parole, tradotte in numeri, formano una somma valida.
Ogni lettera deve rappresentare una cifra diversa, e la cifra iniziale di un numero con più cifre non può essere zero.
Potresti voler chiamare (o forse no!) la funzione permutations(a, t) da Combinatorics.jl nella soluzione.
permutations(a ,t) liberamente, dato che è già nel namespace. Puoi vedere il codice sorgente nella scheda permutations.jl.include("permutations.jl") in cima al file della soluzione per accedere a una versione di permutations(a, t) che si trova lì.Se usi Combinatorics.jl v1.0.3 in locale, permutations(a, t) è molto lenta sui test di grandi dimensioni.
Usa il file fornito permutations.jl, aggiorna a Combinatorics.jl v≥1.1.0 oppure esegui il «downgrade» a v1.0.2.
Iscriviti a Exercism per imparare e padroneggiare Julia con 35 concetti128 esercizi e il mentoring di persone reali, tutto gratis.