[VBA] Maths -algorithm- "The 24 Game" aide demandée (combinaisons/permutations)

Staple1600

XLDnaute Barbatruc
Bonjour à tous

Je cherche à réaliser sous VBA la chose suivante:

Lister les solutions possibles de ce jeu:
Ce lien n'existe plus
C'est à dire : avec les opérateurs de base +,-,*,/,(,) : trouver 24 avec 4 chiffres de( 1à 9 ) tiré au hasard

Un petit cadeau pour ceux qui sauront m'aider :)
(car malheureusement les maths et moi on a pas trop d'accointances ;) )
[flash]http://www.novelgames.com/flashgames/game.swf?id=73[/flash]
 
Dernière édition:

Tibo

XLDnaute Barbatruc
Re : [VBA] Maths -algorithm- "The 24 Game" aide demandée (combinaisons/permutations)

Salut JM,

Question macro, pas question de compter sur moi :rolleyes:

Sinon, je me souviens que l'ami José (JMPS) qui nous manque, avait concocté un petit barbatruc à sa façon pour trouver des solutions pour le jeu du Compte est bon

A toi de voir si tu peux y trouver ton bonheur

Lien supprimé

Bonne soirée

@+
 

Staple1600

XLDnaute Barbatruc
Re : [VBA] Maths -algorithm- "The 24 Game" aide demandée (combinaisons/permutations)

Bonsoir Tibo


Si tu veux tenter par formules , pas de problème.



PS: j'ai trouvé sur le net un classeur (anglophone) qui fonctionne que par formules
(mais en listant sur feuille toutes les solutions
plus de 5000 lignes)

Je voudrais essayer de faire une version VBA (en utilisant une autre méthode)

(Je posterai le lien plus tard , histoire de vous laisser utiliser vos neurones ;), vous les formulistes émérites du forum)
 

Staple1600

XLDnaute Barbatruc
Re : [VBA] Maths -algorithm- "The 24 Game" aide demandée (combinaisons/permutations)

Bonsoir à tous


Voilà ou j'en suis

Les différentes opérations possibles

° = + ou / ou * ou -

x1 à x4 = chiffres de 1 à 9

x1°x2°x3°x4

(x1°x2)°(x3°x4)

((x1°x2)°x3)°x4

(x1°(x2°x3))°x4

C'est pour la suite que je coince.

Si les matheux du forum pouvaient me filer un coup de main.


Merci.


PS: en complément d'information, pierrejean m'avait aidé dans ce fil
https://www.excel-downloads.com/thr...-dans-tableau-array-comment-faire-svp.105666/

qui était les prémisses de celui-ci
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : [VBA] Maths -algorithm- "The 24 Game" aide demandée (combinaisons/permutations)

Bonsoir Staple, Tibo,

Pour les 3 opérateurs utilisés, il y a déjà 4x4x4=64 possibilités.

Avec pour chacune tes 4 possibilités de parenthèses, cela fait 64x4=256 cas à écrire. C'est trop...

Comme de toute façon il faut tirer au hasard les x1-x2-x3-x4 parmi 9 chiffres, je pense qu'une solution est de tirer au hasard aussi les opérateurs (pas les parenthèses), afin d'établir le texte de la formule puis de l'évaluer.

Le texte de la formule sera entré à la suite des précédents dans la feuille de calcul, avec 2 conditions :
- que l'évaluation donne pour résultat 24
- qu'il ne soit pas déja présent dans la feuille.

Et on fait tourner la bécane jusqu'à ce que la liste ne varie plus.

Ce n'est pas très matheux, mais on devrait trouver ainsi toutes les possibilités.

Bonne nuit.
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : [VBA] Maths -algorithm- "The 24 Game" aide demandée (combinaisons/permutations)

Bonsoir job75


D'après le site que je citais
From these 2099520 expressions 14754 expressions give 24 as outcome, occurring at 404 different combinations
Ce lien n'existe plus

(ici liste des solutions)

Il y donc 404 combinaisons de chiffres de de 1 à 9 qui donnent 24

Je voudrais que l'algorithme VBA les trouve tout seul.

Mais je coince pour générer les expressions mathématiques en VBA.

PS: si cela peut vous aider à m'aider voici la grille des solutions sous Excel
 

Pièces jointes

  • grillesolutions.zip
    5.8 KB · Affichages: 163
Dernière édition:

job75

XLDnaute Barbatruc
Re : [VBA] Maths -algorithm- "The 24 Game" aide demandée (combinaisons/permutations)

Re Staple,

Si tu veux trouver les combinaisons de chiffres, ce n'est pas très compliqué puisque pour chaque formule étudiée on connaît bien sûr la combinaison.

On entrera donc dans la feuille les combinaisons, avec les conditions dont j'ai parlé.

A+
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : [VBA] Maths -algorithm- "The 24 Game" aide demandée (combinaisons/permutations)

Bonjour Staple, le forum,

Plutot que de faire des tirages aléatoires, on peut aussi par des boucles étudier tous les cas possibles :

- chiffres 9x9x9x9=6561
- opérateurs 4x4x4=64
- parenthèses 4

Total 6561x64x4=1679616 cas

C'est un peu moins que ce que tu indiques (2099520), en fait il doit y avoir 5 cas pour les parenthèses.

A+
 
Dernière édition:

tototiti2008

XLDnaute Barbatruc
Re : [VBA] Maths -algorithm- "The 24 Game" aide demandée (combinaisons/permutations)

Un essai,

Je n'ai évidement rien compris à la jolie démonstration mathématique, mais cependant, j'ai essayé...
le problème est que plusieurs solutions sont équivalentes, mais là c'est un peu trop compliqué pour moi
 

Pièces jointes

  • Combi.zip
    17.2 KB · Affichages: 155
  • Combi.zip
    17.2 KB · Affichages: 153
  • Combi.zip
    17.2 KB · Affichages: 156

Staple1600

XLDnaute Barbatruc
Re : [VBA] Maths -algorithm- "The 24 Game" aide demandée (combinaisons/permutations)

Bonjour à tous


Merci de vous intéresser au problème.


tototiti2008: merci pour ton classeur


D'après ce que j'ai compris il peut y avoir plusieurs fois le même chiffre.

Dans le classeur que j'ai joint précédemment il y a les 404 permutations
non redondantes qui aboutissent à 24
(je parle des chiffres sans les opérateurs)

J'aimerais arriver à ce que l'algorithme n'est pas besoin de données stockées en dur sur la feuille.

Pour stocker les opérateurs, j'ai pensé à cela:
op=Mid("*+/-()",int(Rnd*6)+1)

job75

je suis d'acord avec toi sur les 6561
(Mais sur ces 6561, il faut sortir celles qui aboutissent à 24 )


C'est ce que je trouve avec ce code
Code:
Sub permut()'ligne 1 à ligne 6561 remplies
Dim i&, j&, k&, l&, m&, cpt&
cpt = 1
For j = 1 To 9
For k = 1 To 9
For l = 1 To 9
For m = 1 To 9
Cells(cpt, 1) = j & k & l & m
cpt = cpt + 1
Next
Next
Next
Next
End Sub
PS: Question au matheux: il s'agit de permutations ou de combinaisons
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : [VBA] Maths -algorithm- "The 24 Game" aide demandée (combinaisons/permutations)

Re

Job75: tu n'es pas d'accord avec cette formule ?

Ainsi, étant donné une série de quatre chiffres et d'un ensemble de trois opérations arithmétiques il ya 5 expressions différentes.
Ainsi, le nombre de possibilités d'expressions avec quatre chiffres de un à neuf, et trois opérations arithmétiques est
formule.gif
 
Dernière édition:

Statistiques des forums

Discussions
311 720
Messages
2 081 912
Membres
101 837
dernier inscrit
Ugo