![]() |
Heureux père, vous recevez le télégramme codé suivant du fils prodigue... :
SEND + MORE = MONEY
représentant les sommes qui lui sont nécessaires et le total demandé... Pourriez-vous décrypter ce message sachant que les lettres représentent des chiffres distincts.
On peut évaluer assez rapidement par un raisonnement logique les lettres M, S et O. Ensuite c'est plus compliqué et pour éviter de tâtonner, suivant en cela les conseils de notre ex ministre de l'Éducation Nationale, je vous proposerai l'aide de l'ordinateur...
A vos machines !
Solution : |
Pas vraiment évident. Cependant, puisque deux nombres de 4 chiffres donnent un nombre de 5 chiffres, alors M = 1.
Il suit que S = 8 ou 9 suivant qu'il y a une retenue ou non, ce qui implique que la lettre O est 1 ou zéro car :
Vu que les lettres représentent des chiffres distincts, la lettre O représente zéro.
Il est alors immédiat que :
Mais E = N et E = N + 9 sont impossibles, donc N = E + 1 ; mais alors S = 9.
On peut pousser plus loin ces investigations ou bien, comme proposé ici, s'amuser à programmer la recherche : connaissant M, S et O et sachant N = E + 1, il ne reste que deux variables indépendantes car R est lié à E et N et d'autre part Y est lié à D et E. Les inconnues principales sont donc E, D. Voici un programme en langage BASIC, écrit au début des années 1990 au moyen-âge de l'informatique, conduisant à l'unique solution du cryptogramme à condition de supprimer après exécution les 22 solutions inacceptables eu égard aux redondances (type R = 8, Y = 8,...) :
L'exécution du programme permet d'isoler :
et la solution est donc : E = 5 , N = 6 , D = 7 , R = 8 , Y = 2
Si vous aimez la
programmation, vous traduirez facilement le programme en JavaScript...