Choux romanesco, Vache qui rit et intégrales curvilignes

2012 : le "jeu de l'année"

Défi : écrire tous les entiers de 1 à 100 en utilisant dans l'ordre les chiffres 2, 0, 1, 2 ainsi que les opérations algébriques classiques ?

En ce dimanche matin, je reprend l'idée de mathforum.org en vous proposant en français le "Jeu de l'année". Le principe du jeu reprends le principe de l'énigme des quatre quatres : écrire tous les entiers de 1 à 100 avec les chiffres de 2012 et les opérations mathématiques classiques.

Dans le détail, les règles sont les suivantes :

  • Utiliser une fois (et une seule fois) les quatre chiffres 2, 0, 1 et 2. Dans l'ordre, c'est encore mieux !
  • Utiliser les opérations mathématiques classiques : addition (+), soustraction/opposé (-), multiplication (×), division (/). On peut également utiliser les racines carrées (√), l'exponentiation (puissance) (^) et les factorielles (!), ainsi que les parenthèses/crochets.
  • Il est permis de concaténer les chiffres de base entre eux (pour obtenir des nombres comme 20 ou 12), ou avec le point décimal (pour écrire les nombres .2, .01 ou 1.2).

Avec toutes ces règles, beaucoup de nombres restent inaccessible, d'où la nécessite d'ajouter plus de symboles. Ainsi, vous pouvez :

  • Utiliser la double factorielle (n!!) : la double factorielle d'un nombre n est le produit de tous les entiers congrus à n modulo 2. Par exemple, 6!! = 6×4×2 = 48 et 5!! = 5×3×1 = 15.
  • Utiliser la triple factorielle (n!!!) : même principe que la double factorielle, mais en ne gardant que les entiers congrus à 3 modulo n. En exemple, cela donne 7!!! = 7×4×1 = 28 et 8!!! = 8×5×2 = 80.
  • Utiliser la n-ième factorielle (n!k). Cependant, le nombre k doit être construit proprement.
  • Utiliser les racines k-ième (k√n), avec k construit proprement.
  • Utiliser la fonction Gamma (Γ), défini sur les entiers par Γ(n)=(n-1)!
  • Utiliser le développement décimal périodique des rationnels. Ainsi, on peut écrire .[2] pour écrire le nombre 0.2222... (=2/9) ou 2.0[1] pour le nombre 2.0111111... (=181/90).

Quelques remarques supplémentaires :

  • Il est tout à fait légal d'imbriquer ses factorielles ou ses racines carrées (par exemple, (3!)! est permis).
  • N'oublions pas que 0!=1.
  • Le point décimal ou le développement décimal périodique ne s'utilise qu'avec les chiffres de base. Il est interdit d'écrire .(1+2) pour écrire .3. De même, .[0!] pour désigner le nombre .111... n'est pas autorisé.
  • La fonction inverse n'est pas permise. On peut cependant utiliser le chiffre 1 pour écrire 1/n ou n^(-1). De la même façon, les fonctions "carré" ou "cube" ne sont pas autorisée, sauf en utilisant l'exponentiation pour écrire n^2 ou n^(1+2).
  • Pas de fonction altérant l'intégrité des nombres ! Donc, pas de fonctions transcendantes (exp, cos, sin, tan, log, argcotanh, ...), ni de parties entières / parties fractionnaires.
  • Dans un premier temps, on va éviter d'utiliser les fonctions combinatoires (nombres d'arrangements, de dérangements, de combinaisons avec/sans répétitions....) ou les fonctions arithmétiques (partage d'un entier,  etc.)

Il est maintenant l'heure de jouer ! Pour cela, il faut se munir d'un stylo, d'une feuille de papier et de suffisamment de temps (par exemple, dans le bus, dans la salle d'attente de son ophtalmo, pendant son cours de philo, pendant un exposé très long et très ennuyeux, ...), et de chercher activement comment diable on pourrait écrire le nombre 87, ainsi que tous les autres.

Pour ajouter un peu de piment, je propose un système de points, le but étant d'avoir le plus petit nombre de point. Pour rester dans l'esprit du problème original, certaines solutions sont meilleures que d'autre : il faut éviter de désordonner les chiffres ou de les concaténer. Dans la pratique, pour chaque nombre, on gagne des points pour :

  • Utilisation de +, -, ×, /, √, ^ ou ! : 0 points.
  • Utilisation du point décimal : 1 point par utilisation
  • Utilisation de concaténation : 10 points.
  • Chiffres désordonnés : 50 points.
  • Utilisation de multifactorielles, de racine n-ième : 5 points par utilisation.
  • Utilisation de développement décimal périodique, de la fonction gamma : 30 points par utilisation.
  • Nombre non trouvé : 500 points.

Exemple avec le nombre 42 : On peut l'écrire :
42 = 21×2+0 rapporte 60 points, car les chiffres sont désordonnés (50 points), et le nombre 21 a été obtenu par concaténation (10 points).
42 = ((2+0!)!)!!-(1+2)! rapporte 5 points, dus à l'utilisation de la double factorielle.

Le score total étant la somme du score de chacun des 100 nombres à reconstituer.

 

Maintenant, c'est à vous de jouer !
A l'heure où je poste cet article, mon score est de 4782 (en comptant les 6 nombres non découverts), à vous de le battre et de faire moins !

 

Posté par El Jj à 10:00 - Commentaires [26] - Permalien [#]
Tags :

Commentaires sur 2012 : le "jeu de l'année"

    Cours de philo vendredi et toutes mes distractions y sont passées, merci pour celle-ci et bonne chance à toutes et à tous =)

    Posté par Marshmallow, 15 janvier 2012 à 16:24 | | Répondre
  • et ma soirée, alors ?

    Pour une fois que je voulais rester peinard ce soir, je tombe sur ce jeu ... Caramba, encore raté ...

    Bon je suis tout fier d'avoir 0 points de 1 à 10, et 240 points pour les 45 formules trouvées jusqu'ici, en n'utilisant que des chiffres dans l'ordre, mais je sens que la suite va être (nettement) plus pénible...

    Question sur la concaténation : "20+12", ça fait 10 points ou 20 ?

    Et autre question : tes "multifactorielles" !!, !!! etc, elles ont une définition mathématique ailleurs qu'ici ? Je ne connaissais pas ...

    Posté par Dr. Goulu, 15 janvier 2012 à 20:29 | | Répondre
  • Dr Goulu > Zut, pour moi, le 10 me coûte un point. Faut que j'améliore ça !

    Pour 20+12, je considère que ça ne fait que 10 points.

    Les multifactorielles sont évoquées sur wikipédia (http://en.wikipedia.org/wiki/Factorial#Multifactorials), et apparaissent en particulier dans les intégrales de Wallis et dans certaines valeurs de la fonction Gamma.

    Posté par ElJj, 15 janvier 2012 à 21:30 | | Répondre
  • Les nombres impairs coutent très cher quand même.

    Pour le moment, pour 49 nombres trouvés (en utilisant le point décimal, et les factorielles multiples) j'ai 86 points.

    Posté par Whiteshoulders, 16 janvier 2012 à 19:54 | | Répondre
  • Prenant comme jeu...

    Total actuel : 17746

    Il m'en manque 33 et j'ai une moyenne 18,33 pts par nombre trouvé...

    Hélas, je n'arrive pas a voir l'intérêt des racines... Vous en servez-vous souvent ?

    Posté par madmart, 17 janvier 2012 à 11:13 | | Répondre
  • madmart > Les racines carrées peuvent servir à deux choses : obtenir le nombre 3 à partir de 0 et 1 en faisant sqrt{0!/.[1]} (bien que cela coûte cher), et obtenir des nombres dont le carré est plus facilement accessible que le nombre en lui même.

    Posté par El Jj, 17 janvier 2012 à 13:15 | | Répondre
  • Lesquels vous manquent ? Il m'en manque 17

    Posté par Bouzigolum, 17 janvier 2012 à 18:36 | | Répondre
  • Le Python se rapproche...

    Bon, j'espérais finir ce soir, mais y'a eu un bug...
    Profitez bien de vos stylos encore quelques heures, car l'algo qui tue progresse...

    J'ai pas encore implémenté les racines, Gamma, les décimales périodique, et les fonctions monadiques (factorielles) ne s’emboîtent pas encore, mais voilà mes 100 scores actuels :

    [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 1, 0, 5, 0, 10, 1, 6, 0, 1, 0, 0, 0, 0, 1, 51, 1, 51, 0, 51, 51, 1, 0, 50, 10, 51, 1, 51, 10, 60, 60, 6, 5, 55, 0, 0, 1, 3, 2, 500, 7, 57, 5, 500, 1, 51, 0, 51, 1, 50, 0, 50, 500, 500, 500, 500, 52, 500, 10, 500, 57, 6, 57, 500, 6, 55, 2, 55, 6, 500, 500, 500, 500, 500, 57, 500, 6, 500, 500, 500, 1, 11, 2, 1, 1, 1, 1] total 10262

    plus que 18 nombres à générer, et même s'ils coûteront 100 points en moyenne, ça ferait un score de 10262-18*400= 3062

    L'optimisme, ça conserve...

    Posté par Dr. Goulu, 18 janvier 2012 à 00:09 | | Répondre
  • Ca m'aura pris du temps, et il m'en manque toujours 6, mais j'arrive à un total de 4283 pts !

    Il me manque encore 67, 77, 86, 87, 92 et 93...

    Petite question points : .[1] ça compte pour 30 ou 31 pts ?

    En tous cas merci d'avoir partagé ce jeu !

    Posté par Zoid, 18 janvier 2012 à 11:11 | | Répondre
  • 2916

    [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 5, 0, 5, 1, 5, 0, 6, 0, 0, 0, 0, 1, 30, 1, 32, 1, 11, 1, 1, 0, 50, 5, 35, 1, 51, 5, 6, 60, 5, 5, 5, 0, 0, 2, 3, 2, 6, 5, 31, 5, 35, 1, 51, 0, 51, 1, 11, 0, 50, 10, 500, 15, 65, 1, 51, 1, 85, 1, 6, 57, 90, 6, 30, 5, 30, 6, 30, 30, 6, 81, 30, 57, 56, 6, 56, 500, 500, 5, 6, 5, 1, 1, 1, 1]

    il ne me manque que 67, 92 et 93.

    Mais j'ai pas encore implémenté Gamma, et je peux encore "récurser plus profond" ...

    On est d'accord que [.x] = x/9, donc que [.9]=1 ?

    Posté par Dr. Goulu, 18 janvier 2012 à 19:58 | | Répondre
  • Me manque encore 67, 84, 86, 87 et 93. (4254 points) Je découvre grâce à Dr Goulu que certain sont effectivement possibles !

    Zoid > Pour les .[n], je compte ça comme 30 points.

    Dr Goulu > On est d'accord là-dessus. Par contre, on ne peut écrire que .[1] et .[2] !

    Posté par ElJj, 18 janvier 2012 à 20:02 | | Répondre
  • 2293

    C'est mon dernier mot. J'ai trouvé le 92 : ((2-((sqrt((0!/[.1]))!)!!))*(-2)) voir http://www.wolframalpha.com/input/?i=%28%282-%28%28sqrt%28%280%21%2F%5B1%2F9%5D%29%29%21%29%21%21%29%29*%28-2%29%29

    Liste des scores : [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 5, 0, 5, 1, 5, 0, 6, 0, 0, 0, 0, 1, 30, 1, 31, 1, 11, 1, 1, 0, 50, 5, 35, 1, 51, 5, 6, 35, 5, 5, 5, 0, 0, 2, 3, 2, 6, 5, 31, 5, 35, 1, 31, 0, 31, 1, 11, 0, 50, 10, 500, 15, 65, 1, 30, 1, 31, 1, 6, 57, 90, 6, 30, 5, 30, 6, 30, 30, 6, 90, 30, 50, 56, 6, 37, 35, 500, 5, 6, 5, 1, 1, 1, 1]

    Le 67 et le 93 résistent au point que je serais tenté par un mot qui me répugne : impossible....

    Alors pendant que j'écris un article avec les résultats (en les vérifiant...) et sur comment j'ai fait et pourquoi ça sert à rien de proposer le problème l'année prochaine, je relance le Python avec une récursion d'enfer, au cas où...

    Posté par Dr. Goulu, 18 janvier 2012 à 20:46 | | Répondre
  • Héhé ! Le 92, je l'avais trouvé sans lancer de Python ! (la formule que j'ai trouvé ressemble d'ailleurs pas mal à la tienne !) Mes scores du moment : http://p3.storage.canalblog.com/38/76/210892/72021884.pdf (100% méthodes artisanales, avec une calculatrice, un tableur et du temps).

    Pour ce qui est de 67 et 93, ils sont peut-être aussi tordu que le 73 de l'énigme des quatre quatres ( http://p0.storage.canalblog.com/01/53/210892/19900605.png ). La question est alors : quelle opération ajouter pour les obtenir ?

    Posté par ElJj, 18 janvier 2012 à 21:49 | | Répondre
  • soluce !

    voilà il y a tout sous http://drgoulu.com/2012/01/18/jeu-de-lannee-2012-et-autres-cest-fini/

    J'ai trouvé une petite bulle dans le comptage des points en écrivant l'article, je la corrige dès que.

    Ce serait plus grave si il y avait une bulle dans un formule, j'en ai vérifié certaines par cut&paste dans Wolfram Alpha, mais il ne supporte pas les !!! et en plus, il faut que je dorme...

    Posté par Dr. Goulu, 18 janvier 2012 à 23:59 | | Répondre
  • Bravo

    Vous êtes impressionnants !!

    J'aime beaucoup la méthode de Dr Goulu à développer le programme qui va bien pour trouver les solutions.

    Par curiosité, est-ce que la complexité de calcul pour trouver les solutions est corrélée au score obtenu pour chacun ?

    Posté par Jérôme, 19 janvier 2012 à 00:38 | | Répondre
  • Bon je pensais être bloqué après avoir tout trouvé à la main sauf 67, 77 et 93 (pour un score de 2759)... Mais je vois qu'il y a une solution pour 77!

    Aller encore un petit effort (je vais essayer de ne pas craquer et regarder la solution...)

    Posté par Zoid, 19 janvier 2012 à 09:23 | | Répondre
  • C'est bon je l'ai (ça aide de réfléchir à tête reposée des fois) !

    Bon il m'a couté 90 points mais c'est bon !

    Score final : 2349.

    Fun ce jeu, et très prenant !

    Posté par Zoid, 19 janvier 2012 à 09:41 | | Répondre
  • 67 = ((((0!/.2)!!)-[.1])/[.2])

    j'avais fait un gros bug : je n'explorais pas toutes les permutations possibles ! C'est visible dans mes résultats qui commencent tous par 2...

    En le corrigeant j'ai trouvé 67, et amélioré beaucoup d'autres scores. Total actuel (et définitif? ) = 1900 seulement !

    Soluce mise à jour sur http://drgoulu.com/2012/01/18/jeu-de-lannee-2012-et-autres-cest-fini/

    (désolé...)

    Posté par Dr. Goulu, 19 janvier 2012 à 19:03 | | Répondre
  • 88 = (22!((sqrt((0!/[.1]))!)!!!))'

    Celle là est gratinée au point qu'ElJj s'y est perdu (et moi aussi au début) En gros c'est la seule de mes solutions>/a> qui utilise la k-ième factorielle, et pas des moindres puisqu'on parle ici de la 18ème !

    88=22!18=22*4

    le 18 est obtenu par (3!)!!! = 6!!! = 18

    Je sais pas comment mon stupide programme a pu "penser" à un truc pareil...

    Posté par Dr. Goulu, 20 janvier 2012 à 18:02 | | Répondre
  • 93 ?

    Bonjour. Je pense avoir trouvé 93 et l'opération à "ajouter" serait la quatrième factorielle mais sans être obligé de construire le 4.
    Alors 93 = ((2+0!)!)!!!!+(.[1]^(-2))

    Voilà ma modeste contribution.

    Posté par Cyber, 22 janvier 2012 à 10:00 | | Répondre
  • Bien joué pour le 67 mais ça fait beaucoup de points quand même !
    67 = ((((0!/.2)!!)-[.1])/[.2]) ->> 116 pts

    Ya moins cher :
    67 = (((.2^(-0!))!!)-[.1])/[.2]) ->> 61 pts !

    Pareil pour 88 d'ailleurs, perso j'avais 88 = (.2^(-0!))!!!/.[1]-2 soit 36 pts (au lieu de 100!).

    (Je poste le même commentaire sur le site de Dr. Goulu)

    Posté par Zoid, 23 janvier 2012 à 14:15 | | Répondre
  • Alors :

    - Coquille dans mon dernier commentaire : 67 = (((.2^(-0!))!!)-[.1])/[.2]) ----->> 66 pts

    - En comparant les solutions de Dr. Goulu avec les miennes, et à quelques coquilles près, j'arrive au score de 1698 pts !

    Bonne journée !

    Posté par Zoid, 23 janvier 2012 à 15:26 | | Répondre
  • mise à jour

    Zoïd a effectivement trouvé des solutions que mon programme ne générait pas, chapeau bas !

    Après correction, le programme est devenu affreusement lent (environ 10 mins de calcul contre 1 avant) mais génère les solutions de Zoïd, voire mieux, puisque mon total est désormais (définitivement?) de 1637 points.

    A part ça Jean-Paul Delahaye avait parlé dans "Bricoles, babioles... et surprises numériques !", Pour la Science - n° 373 - Novembre 2008, d'un problème similaire au "jeu de l'année", les Nombres de Friedman, dont on trouve une liste ici. Je vais dresser mon Python pour qu'il trouve les "super Friedman" en utilisant notre jeu d'opérations plutôt que seulement +-*/.

    A bientôt pour de nouvelles aventures!

    Posté par Dr. Goulu, 23 janvier 2012 à 20:51 | | Répondre
  • liens

    On peut pas mettre de tags href pour faire des liens dans tes commentaires, ElJj ? Bon alors voilà ceux du commentaire précédent cutpastés :
    http://fr.wikipedia.org/wiki/Nombre_de_Friedman
    http://www2.lifl.fr/~delahaye/pls/2008/175
    http://www2.stetson.edu/~efriedma/mathmagic/0800.html

    Posté par Dr. Goulu, 23 janvier 2012 à 20:58 | | Répondre
  • Racine n-ième

    Bonjour,
    est-ce que l'utilisation de la racine n-ième pour des nombres non entiers est autorisée. Car du coup, .1racine(2)=2^10 et racine(.1racine(2))=32
    et alors [racine(.1racine(2))-0!]/racine(.[1])=93.

    En autorisant cette opération, j'arrive à 1402 points au total.

    Posté par Mathieu, 23 février 2012 à 15:32 | | Répondre
  • Racine n-ième

    Petite erreur dans mon précédent message:
    {racine(.2racine(2))-0!}/[.1]=93

    Posté par Mathieu, 23 février 2012 à 15:35 | | Répondre
Nouveau commentaire
Licence Creative Commons
Ce(tte) œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 3.0 France.