Diophante fixe un nombre premier p > 3 et présente à Zig et à Puce la liste des entiers 1,2,3 ,…p – 1.
Zig joue le premier. Au kième tour [1 ≤ k ≤ (p – 1)/2], Zig et Puce choisissent l’un après l’autre un nombre de la liste qui n’a pas été choisi antérieurement: xk par Zig et yk par Puce.
Diophante calcule le produit xk.yk de ces deux entiers ainsi que le cumul Ck de ces produits depuis le début de la partie.
Puce est le vainqueur si lors du déroulement de la partie il existe un entier k tel que p divise Ck.
A l’inverse si p ne divise jamais Ck jusqu’à la fin de la partie, Zig est le vainqueur.
Qui a une stratégie gagnante? Justifiez votre réponse.
_______________________________________________________________
Réponse
Puce est en mesure de gagner au deuxième tour quel que soit le jeu de Zig.
Préliminaires
Utilisons l’arithmétique modulo p, qui remplace le critère de divisibilité par p par celui de l’égalité à zéro et adoptons la notation 1,2,....,q-1,q,-q,....,-2,-1 pour la suite des nombres modulo p, avec q = (p-1)/2.
Ces nombres, dont le produit n’est jamais nul, forment un groupe multiplicatif quand p est premier : de ce fait ils possèdent un inverse unique et la division se ramène à une multiplication, ces opérations introduisant des relations biunivoques, telle la relation biunivoque entre x et y dans xy = constante.
Stratégie gagnante de Puce, version modulo Zig : joue e
Puce : joue -e ; -ee = n Zig : joue f
Puce : joue g tel que fg = -n ; n-n = 0 ; gagne.
Démonstration
Cette stratégie est manifestement gagnante et il est toujours possible pour Puce de jouer -e au premier tour. Reste à prouver qu’au second tour, le g dont Puce a besoin est disponible, c’est-à-dire différent de -e, e et f, quel que soit f. Vérifions.
Les conditions f ≠ e et fg = ee = -n impliquent par biunivocité g ≠ e.
De même f ≠ -e et fg = (-e)(-e) impliquent g ≠ -e.
Enfin, l’égalité g = f entrainerait ff = ee, soit (f-e)(f+e) = 0, produit nul qui exige f = e ou f = -e : f n’était donc pas disponible pour Zig.
g est donc disponible pour Puce.
Stratégie gagnante de Puce, version classique Cette stratégie peut s’exprimer à l’aide des fonctions
y = mod(x) qui calcule le reste de la division euclidienne de x par p y = inv(x) qui résoud mod(xy) = 1 en arithmétique modulo p
Zig : joue e
Puce : joue (p-e) ; n = mod[e(p-e)] ; n’ = p-n Zig : joue f
Puce : joue g = mod[n’.inv(f)] ; gagne.
_______________________________________________________________