ENIGMES

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 !
Site sans pub