Créer tous les entiers avec quatre chiffres 2
(eli.thegreenplace.net)- Le casse-tête consistant à former des nombres avec seulement quatre 2 s’étend d’un puzzle d’arithmétique à un jeu mathématique avancé selon l’ampleur des opérations autorisées
- Avec seulement des fractions et les quatre opérations, on peut former les nombres de 1 à 6, et en ajoutant les exposants et les factorielles, on peut aussi construire de grands nombres comme 18, 28, 256 et 65536
- Si l’on concatène les 2 pour obtenir 22 ou 222, ou si l’on utilise les nombres complexes et la valeur absolue, on peut représenter de nombreuses valeurs difficiles à obtenir par de simples calculs
- Le 7 est connu comme un nombre difficile à construire, mais si l’on autorise des outils comme la fonction gamma, on peut l’obtenir directement avec quatre 2
- La solution générale de Paul Dirac utilise des racines carrées imbriquées et le logarithme en base 2 pour représenter n’importe quel nombre, avec la substitution
2 = √(2+2)afin d’utiliser exactement quatre 2
Règles de base pour former des nombres avec quatre 2
- La règle du puzzle consiste à utiliser le chiffre 2 exactement quatre fois et, sans autre chiffre, à former le nombre cible uniquement avec des opérations mathématiques
- Avec les quatre opérations et les fractions, il est relativement facile de former de petits nombres
1 = (2+2)/(2+2)2 = 2/2 + 2/23 = 2·2 - 2/24 = 2+2+2-25 = 2·2 + 2/26 = 2·2·2 - 2
- Si l’on autorise les exposants et les factorielles, l’éventail des expressions possibles s’élargit considérablement
18 = 2^(2^2) + 228 = (2+2)! + 2 + 2256 = (2+2)^(2+2)65536 = 2^(2^(2^2))
- La concaténation des chiffres est aussi une astuce fréquente dans ce puzzle
26 = 22 + 2 + 211 = 22 / √(2+2)444 = 222 · 2
- Le 7 est particulièrement difficile à obtenir, mais avec la fonction gamma, on peut l’exprimer ainsi :
7 = Γ(2) + 2 + 2 + 2 - Le fil de discussion Math StackExchange contient des exemples utilisant des intégrales, des décimaux périodiques et des opérateurs combinatoires
- Avec les nombres complexes et la valeur absolue, on obtient aussi des expressions comme
12 = |2 + 2√-2|²
La solution générale de Dirac
- Paul Dirac a trouvé une solution générale applicable à tous les nombres, dont le mécanisme central repose sur des racines carrées imbriquées
- En appliquant de façon répétée la racine carrée à 2, on peut réécrire cela sous forme exponentielle comme suit
√2 = 2^(1/2) = 2^(2^-1)√√2 = 2^(1/4) = 2^(2^-2)√√√2 = 2^(1/8) = 2^(2^-3)
- Après n applications de la racine carrée, on obtient une expression de la forme
√√...√2 = 2^(2^-n) - En prenant ensuite une fois le logarithme en base 2, on obtient
2^-n, puis en reprenant le logarithme, on obtient-n - Ainsi, un entier arbitraire n peut s’écrire sous la forme
n = -log₂(log₂(√√...√2)) - Comme l’expression d’origine n’utilise que trois chiffres 2, on peut remplacer l’un d’eux par
2 = √(2+2)pour obtenir une expression utilisant exactement quatre 2 - Par exemple, on peut représenter 7 en imbriquant sept racines carrées de la manière suivante
7 = -log_{√(2+2)}(log₂(√√√√√√√2)) - Le
nfigurant dans l’expression n’est pas un chiffre réellement présent dans la formule, mais une notation auxiliaire servant à compter le nombre de répétitions de la racine carrée - En fin de compte, la voie vers la représentation de tous les nombres est ouverte, mais il reste à écrire correctement autant de signes de racine carrée que nécessaire
1 commentaires
Avis sur Hacker News
Dès qu’on autorise les fonctions, j’ai l’impression qu’on abandonne l’esprit du jeu
Par exemple, la fonction gamma vaut
(n-1)!, donc on revient à fabriquer 7 avec quatre 2 et un 1Si l’on peut cacher des nombres dans les appels de fonction, réussir à tous les coups devient trop facile
+,-(binaire/unaire),×,÷sont aussi des fonctions, et l’exponentiation aussi. Alors pourquoi faudrait-il les autoriser ?Dans ce genre d’énigmes, il peut toujours y avoir débat sur le périmètre des fonctions élémentaires, mais je ne pense pas qu’il faille interdire la racine carrée
Quant à dire que la fonction gamma est
(n-1)!, 2 n’est finalement queS(S(0))(https://en.wikipedia.org/wiki/Peano_axioms)La construction de Paul Dirac est difficile à qualifier de triviale, et je me demande si vous la trouvez vraiment triviale ou si vous connaissez une construction plus simple
Pourquoi autoriser la fonction gamma, mais pas d’autres fonctions ? Si l’on introduit des fonctions arbitraires, on peut résoudre le jeu comme on veut
Au fond, dès le début de l’article, je vois cela comme un problème dont les règles ne sont pas correctement définies. Il faudrait préciser l’ensemble des fonctions ou opérations autorisées, et l’objectif de montrer comment le problème s’étend selon le niveau de connaissances pourrait rester intact avec cette correction
Si on le souhaite, on peut se limiter à différents sous-ensembles de fonctions et essayer de prouver quels nombres sont possibles ou impossibles dans ce cadre
L’article parlait d’ailleurs d’« outils mathématiques », pas de fonctions arbitraires
En revanche, si l’on n’autorise que les fonctions qui envoient des tuples d’entiers vers un entier
((Z, Z, ...) -> Z), l’esprit du jeu original est préservéAinsi, la racine carrée et le logarithme disparaissent, l’addition, la soustraction et la multiplication restent, mais la division disparaît. La factorielle
n!et l’exponentiation à exposant non négatif peuvent aussi être autoriséesJe me demande s’il serait possible de construire une solution générale avec cette contrainte
Si l’on peut « utiliser n’importe quelle opération mathématique », c’est facile : il suffit d’utiliser la fonction successeur
S(n) = n+16 = 2*2*2-27 = S(2*2*2-2)8 = S(S(2*2*2-2))Et ainsi de suite
Cette énigme n’a pas vraiment de règles officielles, mais cette fonction ne me semble pas du tout connue
Si l’on ne précise pas combien de fois tel ou tel opérateur peut être utilisé, l’ensemble du projet n’est pas très cohérent
Dans le même esprit, il y a aussi “Representing numbers using only one 4”, écrit en 1964 par Donald Knuth, alors âgé de 26 ans (https://www.jstor.org/stable/2689238)
Il a aussi été repris au chapitre 10 de ses Selected Papers on Fun and Games, et n’utilise qu’un seul chiffre 4 et trois opérations :
√x(racine carrée),⌊x⌋(fonction partie entière inférieure) etx!(factorielle)L’article se termine sur une conjecture encore non résolue : peut-on représenter tous les entiers de cette manière ?
L’annexe ajoutée au livre de 2011 présente aussi un article encore plus ancien, de 1962, signé J. H. Conway et M. J. T. Guy, intitulé “π in Four 4's” et long d’une page et demie. C’est une idée similaire, écrite alors qu’ils étaient étudiants à Cambridge : https://archive.org/details/eureka-25/page/18/mode/1up?view=...
Par exemple,
5 = ⌊√√√√√(4!)!⌋, car24!se situe entre5^32et6^32Je suis peut-être le seul, mais j’ai trouvé étrange le choix d’utiliser
sqrt(2+2)au lieu desqrt(2*2)ousqrt(2^2)Cela masque inutilement la raison pour laquelle
2=sqrt(2+2)L’ensemble de l’article, chaque argument, la thèse générale, les phrases, la mise en forme, etc., consomment de la bande passante cognitive, et il pouvait aussi y avoir une pression temporelle
Le critique, lui, peut se concentrer tranquillement sur un seul point, donc cela paraît évident :)
Le « hack de Dirac » coûterait sans doute beaucoup de points
2+2,2*2,2^2valent tous manifestement 4, etsqrt(4)=2; je ne vois pas en quoi+serait plus étrange que les autresPersonnellement, je préfère le côté concision
J’avais créé une machine à pile avec des commandes sur un seul caractère, et je devais résoudre une variante de ce problème. Les chiffres n’allaient que de 0 à 9, et les caractères
23signifiaient pousser 2, puis pousser 3. Pour représenter le nombre 23 lui-même, il fallait écrire quelque chose comme45*3+Il restait donc le problème d’encoder chaque entier avec le plus petit nombre de caractères possible
Les outils disponibles étaient les chiffres
0à9,P: Pi,*:(a * b),/:(a / b),-:(a - b),+:(a + b),s:sin(a),c:cos(a),q:sqrt(a),l:log(a),~:abs(a),#:round(a),$:Math.floor(a),C:clamp(a),<:min(a, b),>:max(a, b),^:pow(a, b),a:atan2(a, b),%:positiveMod(a, b),!:(1 - a),?:(a <= 0 ? 0 : 1),o:a xor b scaled by c; ((a*c) xor (b*c))/c,d: dupliquer le sommet de la pile,:: échanger les deux éléments du sommet,;: échanger l’élément du sommet et le troisièmeJe me demande ce qu’on pourrait faire si je recréais plus tard cette machine à pile sous forme de pile de nombres complexes
La prochaine fois que je posterai un truc comme ça, je ne le ferai pas depuis mon téléphone
https://en.wikipedia.org/wiki/Kolmogorov_complexity
" 23"digit + * digit + *, ou une forme équivalenteC’est bien un petit défaut de dire qu’on « n’utilise que trois fois le chiffre 2 », mais seulement si l’on ignore le fait que la notation radicale cache une puissance 1/2 en prenant cette valeur commune comme valeur par défaut
Il y a pas mal de 2 cachés
Dans ce cas, il faudrait aussi reconnaître que 2 cache
1+1, et le jeu devient-il alors impossible ?Comme les polynômes quadratiques sont bien plus courants que les polynômes de degré supérieur, la racine carrée paraît plus fondamentale qu’une puissance arbitraire
Beaucoup soulignent qu’autoriser des fonctions sophistiquées rend le jeu ridicule, mais personnellement je trouve qu’il y a beaucoup de plaisir à chercher une solution satisfaisante même sans restrictions de règles précises
Il y avait, dans le même esprit, un défi de reverse engineering/CTF. Je ne donnerai pas son nom pour éviter la triche, mais ma solution consistait à injecter un shellcode qui ajoutait un certain nombre au pointeur de pile
Sauf que tout le shellcode, y compris le nombre ajouté, ne pouvait utiliser que des octets ASCII alphanumériques
J’ai donc utilisé un solveur SAT pour trouver une combinaison de nombres à additionner qui donne la valeur voulue sans utiliser d’octets interdits
https://docs.google.com/presentation/d/19K7SK1L49reoFgjEPKCF...
Cela me rappelle le jeu mobile Tchisla. Il faut y fabriquer tous les nombres jusqu’à 1000 ou 10000 à partir d’un nombre donné, de quelques opérateurs, de racines carrées, de
!, etc.C’est assez amusant, on développe des stratégies au fil du temps, et l’expérience utilisateur est simple et efficace. Il faut juste savoir à l’avance que cela peut engloutir énormément de temps
[0] https://apps.apple.com/fr/app/tchisla-number-puzzle/id110062...
Il existe le classique problème des quatre 4, que j’ai découvert enfant dans le livre « The Man Who Counted »
https://en.wikipedia.org/wiki/Four_fours
https://en.wikipedia.org/wiki/The_Man_Who_Counted
The Definitive Four Fours Answer Key
https://dwheeler.com/fourfours/
C’est avec ça que j’ai appris la fausse induction. J’aimais aussi l’histoire où des gens sont alignés, avec quelque chose collé dans le dos, et doivent deviner ce que c’est
C’est impressionnant, mais il y a beaucoup trop de 2 cachés dans ce symbole
sqrt