A808 La touche exotique de la calculette [*** à la main]
Solution de Daniel Collignon
Nous allons redéfinir les opérations usuelles à partir de la touche exotique notée # pour une meilleure lisibilité.
Division : A / B = 1 – (1 – A/B) = 1 – (A#B) = (A#B)#1
En particulier pour A=1, on a l’inverse 1 / B = (1#B)#1 qui va nous être utile tout de suite…
Multiplication : A * B = A/(1/B) = (A#(1/B))#1 = (A#((1#B)#1))#1
Soustraction : A – B = A*(1 – B/A) = A*(B#A) = (A#((1#(B#A))#1))#1 (au niveau esthétique, c’est dommage que A apparaisse 2 fois)
Addition : en utilisant la touche +/-, A + B = A – (-B) = (A#((1#((-B)#A))#1))#1
Remarque : sans la touche +/-, on pouvait encore s’en sortir grâce à A+B = 1 – (1 – A – B), ce qui compliquerait encore un peu plus la définition de l’addition à partir de #, au sens où l’on aurait A + B = (1 – A – B)#1 = ((A#1) – B)#1 = (((A#1)#((1#(B#(A#1)))#1))#1)#1
En y réfléchissant un peu, on peut encore optimiser cette expression : A + B = 1 – [(1 – B/(1-A))] / [1 – (1 – 1/(1-A))]
A + B = [(1 – B/(1-A))]#[1 – (1 – 1/(1-A))]
A + B = [B#(1-A)]#[(1 – 1/(1-A))#1]
A + B = [B#(A#1)]#[(1#(1-A))#1]
A + B = (B#(A#1))#((1#(A#1))#1)
Maintenant pour calculer l’expression finale, nous utilisons la mémoire pour stocker les calculs intermédiaires, ainsi par exemple :
2003 – 2004 = (2003#((1#(2004#2003))#1))#1 => M (mise en mémoire)
(rappel de mémoire) M + 2002 = (2002#((1#((-M)#2002))#1))#1 => M (mise en mémoire) (rappel de mémoire) M * 2005 = (M#((1#2005)#1))#1 => M (mise en mémoire)
(rappel de mémoire) M / 2006 = (M#2006)#1 => résultat final
Remarque : dommage d’utiliser une calculatrice (qui plus est bancale !) pour un calcul faisable sans trop de mal à la main…