PROBLÈME
Étant donné deux mots, trouvez le gagnant dans une bataille racine numérique .
Définissez la racine numérique d'un mot de cette façon:
- Chaque lettre de l'alphabet se voit attribuer un numéro: A = 1, B = 2, C = 3, ..., Z = 26
- Ajoutez les valeurs de chaque lettre pour additionner le mot. Prenez "CAT", par exemple. C + A + T = 3 + 1 + 20 = 24
- Ajoutez tous les chiffres uniques qui composent ce résultat: 24 => 2 + 4 = 6
- Répétez l'étape 3 jusqu'à ce que vous atteigniez un seul chiffre. Ce chiffre unique est la racine numérique du mot.
Règles:
- Un gagnant est déclaré si sa racine numérique est plus grande que l'autre.
- Si les valeurs de racine numériques sont égales, raccourcissez les mots en supprimant chaque instance de la lettre de valeur la plus élevée des deux mots et en recalculant.
- Répétez les étapes 1 et 2 jusqu'à ce qu'il y ait un gagnant ou qu'un des mots ne contienne qu'une seule lettre (ou aucune lettre).
- Si les valeurs de racine numérique sont égales après avoir suivi le processus de raccourcissement, le mot le plus long est déclaré vainqueur.
- Si les mots sont de longueur égale et qu'aucun gagnant n'est trouvé après avoir suivi le processus de raccourcissement, aucun gagnant n'est déclaré.
Règles spéciales:
- Aucune utilisation du module n'est autorisée dans le calcul de la racine numérique elle-même. Il peut être utilisé partout ailleurs.
- Supposons que les mots se composent uniquement de lettres majuscules - pas de ponctuation, pas d'espaces, etc.
CONTRIBUTION
Tirez les mots dans stdin (séparés par des virgules). paramètres de méthode, ou comme vous le souhaitez. Expliquez clairement dans votre solution ou dans le code comment les mots sont analysés ou préparés.
SORTIE
Affichez le mot gagnant. S'il n'y a pas de gagnant, affichez "STALEMATE".
Exemples:
entrée: CAN, BAT
CAN = 18 = 9
BAT = 23 = 5
sortie: CAN
entrée: ZOO, NON
ZOO = 56 = 11 = 2
NO = 29 = 11 = 2
OO = 30 = 3
N = 14 = 5
sortie: NON
MISE À JOUR : L'entrée doit être lue en utilisant stdin avec les mots comme une chaîne séparée par des virgules.
MISE À JOUR : Ajout de quelques exemples pour tester.
MISE À JOUR : clarifié la suppression de la lettre la plus valorisée dans le cas d'une égalité - cela modifie également légèrement la condition d'arrêt également - si un mot a une lettre ou zéro lettre, le processus de raccourcissement est arrêté