Problème proposé par Augustin Genoud
Huit sacs, A, B, C, D, E, F, G et H, contiennent chacun 100 billes. Six sacs ont uniquement des billes de 10 g. Un sac ne contient que des billes de 11 g et un autre sac ne renferme que des billes de 9 g. Afin de déterminer le poids des billes de chaque sac, on extrait a billes du sac A, b billes du sac B, c billes du sac C, d billes du sac D, etc. Ensuite, on procède à une seule pesée en mettant l’ensemble des billes extraites sur une balance électronique. On souhaite que le nombre total de billes sorties des sacs soit le plus petit possible et que a ≥ b ≥ c ≥ …. ≥ h ≥ 0.
Combien faut-il sortir de billes de chaque sac ?
Si toutes les billes avaient le même poids, le résultat de la pesée serait p=10(a+...+h).
Si l’on a pris i billes dans le sac plus lourd et j dans le plus léger, on va constater un écart égal à i-j : ce résultat permettra d’identifier ces sacs si tous les écarts sont différents.
Il y a 56 configurations possibles, et compte tenu de la symétrie, on peut se limiter aux 28 cas où le sac lourd est placé avant le léger dans l’ordre lexicographique, ce qui donne des écarts positifs. Qualifions de «libre» une valeur de la différence non encore atteinte dans l’algorithme.
Pour deux sacs (ou en supposant que les sacs A, B, C, D, E et F contiennent des billes de 10g) on peut faire la différenciation avec g=1, h=0. (différence :1)
Pour trois sacs, la valeur minimale est f=3 (différences : 2, 3)
De même pour quatre sacs, e=7 (différences 4, 6, 7 ; valeurs libres 5 ou ≥8) Pour 5 sacs , d=12 convient (différences 5, 9, 11,12 ; valeurs libres 8 ou ≥13)
Pour 6 sacs, c=20 (différences 8, 13, 17, 19, 20 ; valeurs libres 10, 14 à 16, 18, ≥21) Pour 7 sacs, b=30 (différences 10, 18, 23, 27, 29, 30 ; valeurs libres 14 à 16, 21, 22, 24 à 26, 28, ≥31 )
Pour 8 sacs, a=44 (différences 14, 24, 32, 37, 41, 43, 44 ).
On aura donc prélevé 44+30+20+12+7+3+1=117 billes.
A noter que pour 5, 6, 7 et 8 sacs, on a la chance que la première valeur libre pour la différence convienne (c’est à dire que les autres différences sont aussi des valeurs libres). Il suffit d’examiner le cas de 9 sacs pour s’apercevoir que ce n’est pas
obligatoirement le cas : les premières valeurs «libres» 15 et 16 ne conviennent pas, et il faut une différence de 21 (soit 65 pièces) pour poursuivre l’algorithme.