Jeux d'esprit
Cryptographie
Le commis voyageur
Un commis voyageur manque de liquidité pendant un voyage.
Il envoie un message a son patron qui dit ceci:
SEND
+MORE
=MONEY
Combien d'argent le commis demande t-il ?
Indice 1
Indice 2
-
Réponse
Il faut remplacer les lettres par des chiffres.
Pour que l'égalité soit exacte, cela ne laisse qu'une possibilité :
S par 9; E par 5; N par 6; D par 7; M par 1; O par 0; R par 8 et Y par 2
ainsi:
9567
+1085
=10652
Pour trouver cette correspondance, on peut procéder ainsi :
On pose S,E,N,D,M,O,R,Y comme étant des nombres entiers compris dans [0;9].
Posons Ri la retenu de l'addition des chiffres à la position i, où Ri vaut 0 ou 1 pour i entre 1 et 5.
Par exemple si D+E est supérieur ou égale à 10, alors R1 = 1, sinon R1 = 0.
On a alors les 4 équations suivantes :
(1) D + E = Y + R1 * 10
(2) N + R + R1 = E + R2 * 10
(3) E + O + R2 = N + R3 * 10
(4) S + M + R3 = M * 10 + O
Si l'on résout ce système en se contentant de ces hypothèses on trouve 1155 solutions.
Il nous faut donc rajouter des hypothèse.
Une hypothèse logique est que chaque lettre à une valeur différente des autres lettres.
Cela nous ramene à 25 solutions.
Parmis ces solutions, il n'y en a qu'une ou M n'a pas la valeur "0", or M est le premier chiffre
du résultat, il ne serait donc pas naturel de l'écrire s'il vallait 0.
Cette solution est donc la bonne.
Voici un algorithme pour retrouver ce resultat (désolé pour l'indentation) :
for (int d = 0; d <= 9; d++) {
for (int e = 0; e <= 9; e++) {
int y = (d + e) % 10;
int r1 = d + e >= 10 ? 1 : 0;
for (int n = 0; n <= 9; n++) {
int r = e - n - r1;
int r2 = 0;
if (r < 0) {
r += 10;
r2 = 1;
}
int o = n - e - r2;
int r3 = 0;
if (o < 0) {
o += 10;
r3 = 1;
}
for (int m = 0; m <= 1; m++) {
int s = m * 9 + o - r3;
if (s <= 9 && m == 1 && allDifferent(d, e, y, n, r, o, s, m)) {
println("d=" + d + " e=" + e + " y=" + y + " n=" + n + " r=" + r + " o=" + o + " s=" + s + " m=" + m);
}
}
}
}
}
Qu'est-ce que tu as dis ?
Déchiffrez ceci:
L'nmiaccd'htck72kpdp
Indice 1
Indice 2
-
Réponse
Il faut lire en phonétique:
L'ennemi n'a cessé d'acheter ces cassettes de cape et d'épée.
Un message crypté
Décodez ce message:
gçhuçè'v(çè(bo"npçhe"bm
Indice 1
-
Réponse
Il faut taper au clavier (azerty) sur la lettre en dessous de celle écrite :
bonjour tout le monde !
Les énigmes sont la propriété de leurs auteurs respectifs.