UN CADEAU EMPOISONNE.
Un Empereur vivait dans l´opulence, son royaume était vaste et ses sujets jouissaient d´une administration paisible voire bienveillante.
Mais au confins de l´empire, un vassal n´avait jamais accepté cette soumission.
Le jour de la grande fête nationale, il se rendit au Palais Royal pour, comme tous les autres vassaux, faire acte de subornation à son Empereur et lui présenter les comptes de sa province.
Mais il avait comploté une mort affreuse pour tous les invités de la famille impériale.
Il avait préparé 1000 doses de poison, car le nombre de convives ce jour là était précisément de 1000.
Il eut juste le temps de jeter une dose dans un des flacons, lorsqu´il fut pris sur le fait.
Torturé, il avoua plusieurs choses, sauf la plus importante: quel flacon avait été empoisonné.
Par contre, il confirma que le poison était toujours mortel, quel que soit sa dilution.
D´autre part, il confirma que le poison ne se révélait pas immédiatement, mais 1 mois plus tard.
Il causait la mort aussi bien chez les humains que chez les animaux.
L´Empereur bien entendu fit remplacer les 1000 coupes préparées dont une était suspecte et la fête eut bien lieu.
Mais il se demanda quand même s´il y avait une solution pour arriver à discriminer la bonne fiole, et finalement, comme c´était un homme avisé, il déclara à son grand chambellan qu´avec 10 animaux testeurs, il aurait du déterminer la fiole en cause.
Sauriez-vous en faire de même?
REPONSE
Les coupes sont alignées de 1 à 1000
On peut donc les décrire sous forme binaire:
1ère s´écrit 0 0 0 0 0 0 0 1
2ème s´écrit 0 0 0 0 0 0 1 0
3ème s´écrit 0 0 0 0 0 0 1 1
4ème s´écrit 0 0 0 0 0 1 0 0
5ème s´écrit 0 0 0 0 0 1 0 1
6ème s´écrit 0 0 0 0 0 1 1 0
7ème s´écrit 0 0 0 0 0 1 1 1
8ème s´écrit 0 0 0 0 1 0 0 0
.
.
Last s´écrit 1 1 1 1 1 1 1 1 ( 1024)
Testeur 1: teste tous les cas dont le dernier bit se termine par 1 ( donc 1,3,5,7...)
Testeur 2: teste tous les cas dont l´avant-dernier bit se termine par 1 ( donc 2,3,6,7...)
Testeur 3: teste tous les cas dont l´avant-avant-dernier bit se termine par 1 ( donc 4,5,6,7...)
A la fin, vous comptez les morts et sachant que le Testeur 1 représente le bit le plus à droite, le Testeur 2 le suivant etc, le nombre de morts inévitablement vous donne la combinaison de bits à 1, vous reconstituez le chiffre avec ces 10 bits à 0 ou à 1 et vous avez irrémédiablement le numéro de la bonne fiole.
Réduisons le nombre de convives et en contrepartie le nombre de testeurs
Prenons 7 coupes et 3 testeurs ( 2^3)
Testeur 1 boit: 1,3,5,7 car teste tous les cas dont le dernier bit se termine par 1 ( donc 1,3,5,7...)
Testeur 2 boit: 2,3,6,7 car teste tous les cas dont l´avant-dernier bit se termine par 1 ( donc 2,3,6,7...)
Testeur 3 boit: 4,5,6,7 car teste tous les cas dont l´avant avant-dernier bit se termine par 1 ( donc 4,5,6,7...)
On combine les possibilités.
Testeur 1 meurt seul: coupe 1 ( 0 0 1)
Testeur 2 meurt seul: coupe 2 ( 0 1 0)
Testeur 3 meurt seul: coupe 4 ( 1 0 0)
Testeurs 1 & 2 meurent: coupe 3 ( 0 1 1)
Testeurs 1 & 3 meurent: coupe 5 ( 1 0 1)
Testeurs 2 & 3 meurent: coupe 6 ( 1 1 0)
Testeurs 1 & 2 1 3 meurent: coupe 7 ( 1 1 1)