Microsoft 365 trouver parmi plusieurs millions de combinaisons

LEPATOCHE

XLDnaute Occasionnel
Bonsoir le forum
voila ce que je vais vous demander , prenons 70 numéros de 1 a 70 , maintenant si ont compte le nombre
de combinaisons que l'ont peux faire en prenant que 5 numéros cela fait en tout 12 103 014 combinaisons possible ! exemple
4 21 24 45 57 forme une combinaison de 5 chiffres , donc moi ce que je veux c'est que excel me trouve la combinaison
a 5 chiffres qui est sorti le plus souvent parmi tout les tirages que je vous joint en fichier merci de votre réponse !
 

Pièces jointes

  • keno resulat.xlsx
    652.2 KB · Affichages: 29

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonjour à tous !
@mapomme, @job75, @patricktoulon
vous faites partie de l'élite de programmation du site
Voici un fichier que mapomme avait mis au point avec les 6000 tirages de LEPATOCHE pour les combinaisons de 5 chiffres devraient prendre 1 heure ou moins à s'exécuter j'ai fait le test avec 150 tirages 36 secondes
Je vous joint le fichier

Bonne journée!
Bonjour @Backhandshot :);),

Alors là bravo ! Je n'avais même plus le souvenir d'avoir pondu cela o_O!
👏👍 👏👍.
 
Dernière édition:

patricktoulon

XLDnaute Barbatruc
re
juste pour info
PermutationArrangementCombinaison
Disposition ordonnée de tous les éléments d'un ensemble.
autrement dit
1234 et 4213 sont
deux permutations d'une même combinaison
Disposition ordonnée d'un certain nombre d'éléments d'un ensemble.
IDEM à permutation
Disposition non ordonnée d'un certain nombre d'éléments d'un ensemble.
autrement dit
1234 et 4132 sont une seul et même combinaison

ça peut peut être aider à faire la différence
la conclusion est claire et sans équivoque
il ne peut y avoir qu'une seule combinaison de x élément sur y dans la totalité des possibilités
a bon entendeur ;)

donc la réponse au demandeur est catégorique c'est 1

ou alors reformuler la question dans son contexte
 
Dernière édition:

mapomme

XLDnaute Barbatruc
Supporter XLD
Re,

L'ordre des éléments d'une combinaison est indifférent. Donc pour désigner de manière univoque une combinaison de chiffres, on peut les classer au sein de la combinaison (on détermine une clef en quelque sorte pour les combinaisons).
Exemple: les triplets (1,5,3), (1,3,5), (5,1,3), (5,3,1), (5,1,2) et (5,2,1) sont des représentants d'une même et unique combinaison. On peut la représenter par (1,3,5). Chacun des 6 triplets est associé à la même clef (1,3,5) qui désigne une seule combinaison.
 
Dernière édition:

mapomme

XLDnaute Barbatruc
Supporter XLD
la conclusion est claire et sans équivoque
Claire peut-être, sans équivoque certainement pas !

Pour chaque tirage, on a 15 504 combinaisons.
Pour 6 000 tirages, on a donc 93 024 000 combinaisons.
il faut pour chaque combinaison faire le total de ses apparitions. Cela peut-être 1 fois, 2 fois, ..., n fois.
Rien ne dit que les toutes 12 103 014 combinaisons de 5 parmi 70 seront présentes dans les 93 024 000 combinaisons examinées (l'inverse est forcément vrai).
 

patricktoulon

XLDnaute Barbatruc
re
@mapomme
donc tu confirme que dans les 12103014 possibilité ,il ne peut y en avoir qu'une
sinon on parle pas de combi mais de permut
et la réponse à la question tel que demandée est donc claire c'est 1 fois

il ne peut pas y avoir 1 2 3 et 2 1 3 dans les combinaisons possible sur 1234 c'est ou l'un ou l'autre mais pas les deux
c'est ce que j'essaie de vous dire depuis toute à l'heure
 

TooFatBoy

XLDnaute Barbatruc
la réponse à la question tel que demandée est donc claire c'est 1 fois
Je pense qu'il faut que tu relises la question... 😅

je veux [qu'Excel] me trouve la combinaison a 5 chiffres qui est sorti le plus souvent parmi tout les tirages que je vous joint en fichier
La réponse ne saurait être "1", qui n'est pas une combinaison de 5 chiffres. 😉
 
Dernière édition:

mapomme

XLDnaute Barbatruc
Supporter XLD
C'est juste que je voulais savoir si tu m'avais mis en "ignoré" car tu ne m'as répondu ni sur le forum ni en mp. 😉
Mea culpa, tu n'es pas en "ignoré" (je ne vois pas l'ombre d'un début de commencement de raison).
En fait, j'ai retrouvé ton message (MP date du 22 janvier). Je l'ai sans doute lu mais bien souvent je lis un MP puis le referme en me disant que je répondrai plus tard et ensuite j'oublie. Tu n'es pas la seule victime de ma négligence concernant les MP.
1 000 excuses de t'avoir "zappé" 😔 .
Heureusement que @Backhandshot (que je remercie encore :)) a retrouvé mon classeur concernant ta demande (voir son message dans ce fil). J'ai perdu mes archives sur un crash de disque dur.
 

TooFatBoy

XLDnaute Barbatruc
Y a no soucy. Ça m'arrive aussi de faire comme toi, et avec la même conséquence... 😉

Dans le fil de discussion dont je parlais, Backhandshot donnait un fichier adapté à la question posée dans le fil en question, et il avait la courtoisie de dire que tu étais l'auteur du fichier originel qu'il avait adapté. C'est pour ça que je te demandais le fichier originel.
Mais j'ai fini par regarder le code et l'adapter aux besoins précis de Ferbank.

Voilà toute l'histoire. 😉


Bonne fin de dimanche à tous
🖖
 

job75

XLDnaute Barbatruc
Finalement pour traiter 93 024 000 combinaisons (mon post #6) il faudra beaucoup de temps.

Chez moi une dizaine d'heures en extrapolant.

Voyez le fichier joint et cette macro :
VB:
Sub Combinaisons()
Dim t, dico As Object, tablo, ub&, i&, a, b, c, d, e, x$, nmax&, n&, liste$()
t = Timer
Set dico = CreateObject("Scripting.Dictionary")
tablo = [A1:T6000] 'matrice, plus rapide
ub = UBound(tablo)
For i = 1 To ub
    Application.ScreenUpdating = True 'rafraîchi l'écran
    Cells(i, "A").Resize(, 22).Select
    If t > Timer Then t = t - 86400 'pour le passage de minuit    Cells(i, "U") = (Timer - t) / 86400
    Cells(i, "V") = i / ub
    [Y1] = "=TREND(U1:U" & i & ",V1:V" & i & ",1)" 'durée extrapolée
    DoEvents
    For a = 1 To 16
        For b = a + 1 To 17
            For c = b + 1 To 18
                For d = c + 1 To 19
                    For e = d + 1 To 20
                        x = tablo(i, a) & " " & tablo(i, b) & " " & tablo(i, c) & " " & tablo(i, d) & " " & tablo(i, e)
                        dico(x) = dico(x) + 1
Next e, d, c, b, a, i
nmax = Application.Max(dico.items)
a = dico.keys
b = dico.items
nmax = Application.Max(b)
For i = 0 To UBound(a)
    If b(i) = nmax Then
        ReDim Preserve liste(n) 'base 0
        liste(n) = a(i)
        n = n + 1
    End If
Next i
[AB1] = nmax
[AD1] = n
If n > 65536 Then n = 65536
[W2].Resize(n) = Application.Transpose(liste)
[W2].Offset(n).Resize(Rows.Count - n - 1).ClearContents 'RAZ en dessous
End Sub
Mettez la veille de l'écran sur jamais et patientez...

Edit : j'avais oublié le passage de minuit pour le Timer.
 

Pièces jointes

  • keno resulat(1).xlsm
    569.6 KB · Affichages: 5
Dernière édition:

mapomme

XLDnaute Barbatruc
Supporter XLD
@patricktoulon :) ,

Une preuve de la difficulté de communiquer.
En fait, je ne voyais pas pourquoi tu parlais de permutation.
Maintenant je crois avoir compris. Et nous parlions en fait de la même chose.

Le problème est bien de savoir comment on dresse la liste des combinaisons.
Personnellement, comme il s'agit de nombres distincts, je les classe au sein de la combinaison par ordre croissant.
On pourrait aussi les classer par ordre décroissant.
Dans ce cas, on aboutirait à deux listes comprenant chacune les 12 millions de combinaisons avec aucun élément en commun 😱. Et pourtant les deux listes représentent les mêmes combinaisons. Simplement les représentants choisis pour chaque combinaison sont différents à une "permutation" près.

Donc, nous sommes d'accord :D .
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 215
Messages
2 086 322
Membres
103 178
dernier inscrit
BERSEB50