introduzione
Considera il seguente esempio:
CODE
+ GOLF
——————
GREAT
Questa è un'equazione in cui ogni lettera rappresenta una cifra decimale e le parole rappresentano numeri naturali (lettere simili rappresentano cifre simili e lettere diverse rappresentano cifre diverse). Il compito è abbinare ogni lettera al suo valore in cifre in modo che l'equazione sia corretta. Una soluzione per l'equazione sopra è:
9265
+ 1278
——————
10543
Il tuo compito
Il tuo compito è scrivere un programma o una funzione in grado di risolvere tali equazioni come visto sopra.
Ingresso
L'input è una stringa nel seguente formato:
[A-Z]+\+[A-Z]+=[A-Z]+
Esempio:
CODE+GOLF=GREAT
AA+BB=CC
Gli spazi vengono omessi e verranno utilizzate solo lettere tra maiuscole e minuscole (nessuna lettera speciale o minuscola).
Questa stringa può essere letta dall'input standard, da un file o come parametro di funzione.
Produzione
Sono disponibili le seguenti due opzioni per il formato di output:
- l'equazione originale con le cifre sostituite
- elenco delle lettere e dei loro valori
Se esistono più soluzioni, è necessario restituirne una (ma solo una). Se non ci sono soluzioni, il programma dovrebbe restituire una stringa vuota o null. L'output può essere restituito come stringa, può essere scritto nell'output standard o in un file.
Esempio:
9265+1278=10543
A=1 B=2 C=3
(puoi usare qualsiasi delimitatore)
Regole
- Per semplificare le cose, i numeri sono accettati per iniziare con 0, ma puoi gestire i numeri con 0 iniziale come soluzioni non valide, dipende da te
- Lettere simili rappresentano cifre simili e lettere diverse rappresentano cifre diverse
- Puoi usare qualsiasi lingua e la libreria standard della lingua scelta (senza librerie esterne)
- Non è possibile connettersi a nessuna risorsa su Internet (perché dovresti comunque?)
- Questo è un compito di golf del codice, il codice più corto vince. I caratteri di spazi bianchi consecutivi contano come un singolo personaggio. (Quindi qualsiasi programma scritto negli spazi bianchi vince automaticamente)
Ho una soluzione in qualche modo hacker che utilizza 179 caratteri. Se qualcosa non è chiaro, per favore chiedetemi nei commenti.
If there are no solutions, the program should return an empty string or null.
I loop infiniti non generano ancora nulla ... posso?