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 & 3 meurent: coupe 7 ( 1 1 1)