Enonc´e A514 (Diophante)
Solution de Jean Moreau de Saint-Martin
L’algorithme suivant permet de r´eunir les 2ncravates de Diophante dans un tiroir d´esign´e `a l’avance (que j’appelle tiroir marqu´e), pourvu que celui-ci ne soit pas vide au d´epart.
Commencer avecp= 0.
(a) Identifier les tiroirs contenant un nombre de cravates de la forme i·2p avec iimpair.
(b) Si ces tiroirs existent, les associer 2 `a 2 pour des transferts selon la r`egle de Diophante ; on veillera seulement, si un transfert concerne le tiroir marqu´e et un tiroir contenant le mˆeme nombre de cravates, `a faire le transfert dans le sens qui remplit le tiroir marqu´e (autrement dit, `a contenu ´egal, le tiroir marqu´e est par priorit´e le tiroir B de la r`egle).
(c) Augmenterpde 1.
(d) Sip=nc’est fini, sinon aller en (a).
Justification
Au stade (b), sia=i·2p etb=j·2p, avecietjimpairs, on a apr`es transfert (a−b)/2p+1= (i−j)/2 entier, et 2b/2p+1 =j entier.
Au stade (a), les tiroirs identifi´es sont en nombre pair puisque le contenu de chaque tiroir est multiple de 2p `a ce stade, et le nombre total de cravates est 2n>2p.
Quand le stade (c) conduit `a p=n, le contenu de chaque tiroir non vide est multiple de 2n, donc toutes les cravates sont dans le mˆeme tiroir, et celui-ci est le tiroir marqu´e puisqu’on a ´evit´e tout transfert qui l’aurait vid´e.
Enfin, le nombre des transferts est fini. Le nombre de tranferts `a faire `a l’´etape (b) est major´e park/2 s’il y aktiroirs, et par 2n−pqui est le nombre maximum de tiroirs non vides si le contenu de chacun est multiple de 2p. D’o`u une majoration Pn−1p=0min(bk/2c,2n−p).
Ainsi, avec 7 tiroirs et 64 cravates, le regroupement peut se faire en 15 trans- ferts, quel que soit le tiroir marqu´e. Avec la distribution initiale indiqu´ee, 12 transferts suffisent pour le regroupement au 7e tiroir, selon le programme ci-apr`es.
1
Dans ce tableau chaque colonne correspond `a un tiroir, chaque ligne cor- respond `a un transfert et montre les deux contenus de tiroirs r´esultant du transfert. Les lignes horizontales montrent le passage par l’´etape (c).
3 13 1 14 9 5 19
6 16
2 8
8 10
12 8
4 8
8 8
16 0
16 0
16 0
32 0
0 32
0 64
2