PROBLEMA
Con due parole, trova il vincitore in una battaglia di root digitale .
Definisci la radice digitale di una parola in questo modo:
- A ogni lettera dell'alfabeto viene assegnato un numero: A = 1, B = 2, C = 3, ..., Z = 26
- Aggiungi i valori per ogni lettera per sommare la parola. Prendi "CAT", per esempio. C + A + T = 3 + 1 + 20 = 24
- Aggiungi tutte le singole cifre che compongono quel risultato: 24 => 2 + 4 = 6
- Ripeti il passaggio 3 fino a raggiungere una singola cifra. Quella singola cifra è la radice digitale della parola.
Regole:
- Un vincitore viene dichiarato se la sua radice digitale è più grande dell'altra.
- Se i valori della radice digitale sono uguali, abbreviare le parole rimuovendo ogni istanza della lettera del valore più alto da entrambe le parole e ricalcolando.
- Ripeti i passaggi 1 e 2 fino a quando non c'è un vincitore o una delle parole ha solo una sola lettera (o nessuna lettera) rimanente.
- Se i valori della radice digitale sono uguali dopo aver attraversato il processo di accorciamento, la parola più lunga viene dichiarata vincente.
- Se le parole hanno la stessa lunghezza e non viene trovato alcun vincitore dopo aver attraversato il processo di accorciamento, nessun vincitore viene dichiarato.
Regole speciali:
- Non è consentito l'uso del modulo nel calcolo della radice digitale stessa. Può essere usato altrove.
- Supponiamo che le parole siano composte solo da lettere maiuscole - nessuna punteggiatura, nessuno spazio, ecc.
INGRESSO
Inserisci le parole in uno stdin (separato da virgola). parametri del metodo, o nel modo desiderato. Rendi chiaro nella tua soluzione o nel codice come vengono analizzate o preparate le parole.
PRODUZIONE
Mostra la parola vincente. Se non è presente alcun vincitore, visualizzare "STALEMATE".
Esempi:
intput: CAN, BAT
CAN = 18 = 9
BAT = 23 = 5
uscita: CAN
intput: ZOO, NO
ZOO = 56 = 11 = 2
NO = 29 = 11 = 2
OO = 30 = 3
N = 14 = 5
uscita: NO
AGGIORNAMENTO : L'input deve essere letto usando stdin con le parole come una stringa separata da virgola.
AGGIORNAMENTO : aggiunti un paio di esempi da testare.
AGGIORNAMENTO : chiarita la rimozione della lettera con il valore più alto in caso di pareggio - anche questa modifica leggermente la condizione di arresto - se una parola è lunga una lettera o zero, il processo di accorciamento viene interrotto