A812 Jeu de bascule
J’ai une calculette qui dispose d’un registre de mémoire auxiliaire avec trois touches M+, M- et MR : la touche M+
permet d’ajouter à ce registre le contenu de ce qui est affiché à l’écran tandis que la touche M- lui retranche le contenu affiché. La touche MR fait afficher le contenu du registre-mémoire, sans le modifier.
J’introduis le nombre 2007 en mémoire puis j’affiche à l’écran le nombre 2008.
Est-il possible de faire basculer 2008 en mémoire et 2007 à l’écran en utilisant pour seules touches : +, – , = , M+, M- et MR ?
Solution
Proposée par Fabien Gigante
Précisons tout d’abord que les touches +, – , = ne peuvent être utilisées que dans les séquences élémentaires + MR = et - MR =. En effet le résultat de raccourcis avancés tels que + = ou = = est très dépendant de la calculette utilisée et on les considérera donc inopérants pour celle de l’énoncé…
Essayons ensuite de savoir s’il existe-t-il une séquence de touches générique capable de faire basculer tout couple de nombres distincts.
On représente la mémoire et l’affichage par un vecteur, et les combinaisons de touches élémentaires par des matrices 2 2 agissant sur ce vecteur. La bascule recherchée est également une matrice 2 2. On calcule les déterminants respectifs de ces matrices.
Opération Matrice Déterminant
M+ 1 10 1 1
M- 1 10 1 1
MR seul 1 01 0 0 + MR = 1 01 1 1 - MR = 1 01 1 1 Bascule 0 11 0 -1
Sachant qu’on ne peut pas obtenir -1 en multipliant des 1 et des 0, on conclut aisément à l’inexistence d’une telle séquence générique.
Revenons alors au cas particulier de l’énoncé, et cherchons une séquence spécifique qui convienne : Opérations Mémoire Affichage
2007 2008
M- -1 2008
MR seul -1 -1
2009 fois M- 2008 -1
+ MR = 2008 2007
La manière forte décrite ci-dessus fournit une solution, mais peut-on réellement parler de bascule dans ce cas ?