Édition du: 30/01/2022 |
INDEX |
Puzzles arithmétiques |
|||
Libres (à trous) |
||||
Faites un double-clic pour un retour en haut de page
CRYPTARITHME - Résolution Comment, si
possible, résoudre un cryptarithme réputé très difficile. Plusieurs
possibilités:
De tête – Hum …
il faut être un génie ou très accroché;
Avec un tableur – Oui,
c'est une bonne ardoise pour soulager la mémoire;
Avec un logiciel –
Attention au temps de calcul ! Mais quelle satisfaction une fois le programme
finalisé; ou
Recours à un solveur sur Internet – C'est à nouveau un programme, mais
sans la satisfaction de l'avoir réalisé. Solveur comme
programme-maison peuvent être utilisés pour inventer de nouveaux
cryptarihmes. |
||
|
Sommaire de cette page >>> Le cryptarithme casse-tête à résoudre >>> Résolution manuelle / aide tableur >>> Programmation |
Débutants Glossaire |
Le puzzle Chaque lettre est à remplacer pour rendre
l'addition exacte. On facilite la recherche de la solution en
précisant que le chiffre 2 n'est pas utilisé. |
|
|
Sa solution La vérification par programmation
montre qua la solution est unique, avec ou sans le chiffre 2. |
|
|
Correspondance Il faut donc trouver les neuf chiffres rouges
pour remplacer les lettres bleues. |
|
|
La queue de l'addition Cette configuration sur les trois dernières
colonnes est sympathique ! On peut chercher à mettre ces additions en
équations. Attention à prendre soin des retenues. Même avec cette configuration redondante, il y a trop d'inconnues pour ces trois
équations. Même si r, s et t ne prennent que deux valeurs: 0 ou 1. Avec de la persévérance (beaucoup !), on trouve
huit configurations recevables. Voir Une méthode possible |
L + E = 10r + I
E + B + s = 10t + I Idée: commencer les essais en choississant une valeur
pour I, puis pour E. |
|
Huit configurations Le
tableur est utilisé comme ardoise intelligente. Pour chaque solution (encadrée):
l'addition en chiffres,
la correspondance lettre/chiffre; et
les chiffres non placés en italique. Remarquez qu'un grand nombre d'additions
comportent des retenues. Ce qui ajoute de la complexité à la recherche. |
|
Exemple de recherche systématique
Avec le tableur, les chiffres choisis en rouge
sont automatiquement reportés dans l'addition Au départ, aucun chiffre en rouge: 1.
Choix I = 9, par exemple; 2.
Choix E = 1, par exemple; 3.
Les valeurs suivantes sont déterminées: a.
L = 9 – 1 = 8 b.
N = 9 + 8 => 7 et 1 de retenue c.
B = 9 – 1 – 1 = 7 4.
Choix refusé car le 7 est en double. Avec 9 possibilités pour I et 8 pour E, il faut
explorer 72 cas. |
|
Avec la tête de l'addition À droite cette addition avec les lettres S, O et
B. Elles sont à remplacer par des chiffres parmi ceux en italique. Dans le premier cas (en haut), aucun des chiffres
disponibles ne permet de construire une addition juste. Dans le deuxième cas (en bas), S = 4 et O = 9
permettent de réaliser une addition correcte. |
Cette deuxième configuration est retenue pour
analyse complémentaire. |
Finalisation La recherche conduit à cette configuration où
seule la colonne ocre est à compléter. Il reste deux chiffres disponibles: 1 et 8. Ça
marche ! |
Solution trouvée ! |
But Trouver la solution du cryptarithme en énumérant
les chiffres correspondant aux lettres. |
Principe Balayer systématiquement toutes les lettres. Lorsqu'un chiffre est choisi, il est retiré du
champ des possibles pour la lettre suivante. Les chiffres sélectionnés sont convertis en trois
nombres. La somme des deux premiers est comparée au
troisième. |
||
Programme Maple |
Commentaires Initialisation de l'ensemble de départ avec tous
les chiffres. La lettre S est choisie parmi les neuf possibles
(Set) et l'ensemble Set1 est privé de ce chiffre (minus). Idem pour la suite. La solution (Sol)
est l'énumération des lettres (de droite vers gauche dans l'addition). Si la quantité de chiffres dans la liste [ ] Sol est
la même que dans l'ensemble { } Sol, c'est que les chiffres sont
tous différents, alors on poursuit. Calcul des nombres et, si l'addition est juste,
impression des chiffres trouvés. Avec cette méthode de réduction du champ des possibles, le temps de calcul
est de quelques secondes. |
||
restart; Set := {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
for S in Set do Set1 := Set minus {S}; for OO in Set1 do Set2 := Set1 minus
{OO}; for L in Set2 do Set3 := Set2 minus {L}; for E in Set3 do Set4 := Set3
minus {E}; for II in Set4 do Set5 := Set4 minus {II}; for A in Set5 do Set6
:= Set5 minus {A}; for B in Set6 do Set7 := Set6 minus {B}; for K in Set7 do
Set8 := Set7 minus {K}; for N in Set8 do Sol := [S, OO, L, E, II, A, B, K,
N]; if nops(Sol) = nops({op(Sol)}) then a1 :=
S*10^5+OO*10^4+L*10^3+100*E+10*II+L; a2 := S*10^4+A*10^3+100*B+10*L+E; a3 :=
B*10^5+II*10^4+K*10^3+100*II+10*N+II; if a1+a2 = a3 then lprint(S, OO, L, E,
II, A, B, K, N) end if: end if: end do: end do: end do: end do: end do: end
do: end do: end do: end do: |
Code pour copier-coller dans Maple |
||
Voir Programmation – Index
Merci
à Kenzy pour l'idée de cette page
Retour |
Donald + Gerald = Robert / Programmation |
Suite |
Dix chiffres – Égalités étranges …
Jeux – Index |
Sites |
Solveur Cryptarithme -
dCode |
Cette page |