Partage
  • Partager sur Facebook
  • Partager sur Twitter

Résolution d'un jeu de calcul

Quels algorithmes?

    10 novembre 2017 à 21:53:45

    Bonjour,

    Je cherche à déterminer le meilleur algorithme pour résoudre ce jeu sans aide électronique et également pour le résoudre via un programme informatique.

    Il s'agit, si j'ai bien compris, de parvenir avec 4 nombres donnés au résultat 0 en utilisant une fois chaque opération "fondamentale".

    * sans aide électronique


    Il me semble que ceci ressemble au jeu "tout comptes faits" de l'ancien journal gratuit Metro à ceci près que nous n'avons pas d'ordre pour les nombres qui subiront des opérations. J'avais l'habitude de le résoudre en commençant par déterminer les 4 nombres candidats à la dernière opération. Seulement ici il me semble qu'il y a 16 nombres candidats à envisager... Comment procéderiez vous pour résoudre ce jeu sans aide électronique?


    * avec aide électronique


    Je pensais rédiger un programme informatique qui calculerait ce qui me semble être les  576 possibilités de calculs mais je pense qu'il est possible de rendre le programme plus efficient, par exemple du fait de la commutativité de l'addition et de la multiplication. Comment procéderiez vous pour déterminer l'algorithme de résolution le plus efficient?


    Merci de votre aide.

    -
    Edité par PierrePetitjean 10 novembre 2017 à 21:55:28

    • Partager sur Facebook
    • Partager sur Twitter
      11 novembre 2017 à 16:52:49

      Ça y est, je sais maintenant ce que ça fait quand on est myope !

      (Désolé pour la remarque idiote, mais j'avais envie d'utiliser un peu d'humour pour signaler que l'image est floue.)

      -
      Edité par robun 11 novembre 2017 à 16:53:41

      • Partager sur Facebook
      • Partager sur Twitter
        12 novembre 2017 à 0:09:43

        Que ce soit avec ou sans aide électronique, pour arriver à 0, on sait que la dernière opération sera une soustraction. Si on a 4 nombres, on a relativement peu de combinaisons. 

        Sans aide électronique, on va s'intéresser aux ordres de grandeur ; si on a des nombres comme 4 5 6 50 (un nombre beaucoup plus grand que tous les autres), on va isoler le nombre le plus grand : comment faire 50 à partir de 4 5 et 6. (4+6)*5 = 50 ; et donc (4+6)*5-50 = 0 

        Si les ordres de grandeurs sont plus homogènes, mais avec toujours un nombre nettement plus grand que les autres, on va toujours isoler le nombre le plus grand  : d. Si ce nombre est premier, on sait qu'on ne pourra pas obtenir une relation du type (a+b)*c = d, mais qu'il faudra rechercher un truc du type a*b+c = d, ou a*b-c=d. Il n'y a pas des tonnes de combinaisons, seulement 3 combinaisons de la forme a*b+c, et 3 de la forme a*b-c.

        Sans aide électronique, avec 4 nombres, une personne un peu entraînée trouve la solution en quelques secondes.

        Avec une aide électronique, un recensement exhaustif va très vite ; 

        4 possibilités pour le 1er nombre ; 4 opérations possibles ; 3 options possibles pour le 2ème nombre, 4 opérations  possibles, 2 options possibles pour le 3ème nombre, puis une soustraction , puis le 4ème nombre, et le résultat doit être égal à 0. Donc 4x4x3x4x2 = 384 calculs à faire. Un millième de seconde à peu près en temps de calcul pour un ordinateur quelconque.

        • Partager sur Facebook
        • Partager sur Twitter

        Résolution d'un jeu de calcul

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown