Track
/
F#
F#
/
Esercizi
/
Alfametica
Alfametica

Alfametica

Difficile

Istruzioni

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.

Suggerimenti

  • Per analizzare il testo, potresti provare a usare la libreria FParsec.
  • Puoi risolvere questo esercizio con un algoritmo di forza bruta, ma è probabile che le prestazioni in esecuzione siano scarse. Prova a trovare una soluzione più sofisticata. Suggerimento: potresti provare l'algoritmo di addizione in colonna che di solito si insegna a scuola.
Modifica tramite GitHub Il link si apre in una nuova finestra o scheda
F# Exercism

Vuoi iniziare Alfametica?

Iscriviti a Exercism per imparare e padroneggiare F# con 18 concetti148 esercizi e il mentoring di persone reali, tutto gratis.