Algorithme

33william Messages postés 7 Date d'inscription samedi 25 juin 2005 Statut Membre Dernière intervention 22 juillet 2005 - 20 juil. 2005 à 17:51
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 - 22 juil. 2005 à 16:39
bonjour


Je mets dans une liste (avec visual basic 6) toutes les combinaisons de 3 numéros (ex: pour le loto national, il y a 18424 combinaisons possible) donc : 1-2-3 / 1-2-4 etc jusqu'à 47-48-49.
Je veux obtenir dans une autre liste le nombre minimal de combinaison de 6 numéros qui englobent les 18424 combinaisons de 3 numéros.


Question :
Quel est l'algorithme le plus simple pour résoudre ce problème ?


Merci

12 réponses

Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
20 juil. 2005 à 18:31
Dim i As Long

Dim j As Long

Dim n As Long





For i = 1 To 18423

DoEvents

For j = i + 1 To 18424

n = n + 1

Next

Next



MsgBox n


Daniel
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
20 juil. 2005 à 18:38
je ne comprend pas trop ta question. tu peux préciser? ou reformuler?
si Gollibit est sur la bonne voie (dans quel cas je comprend encore moins pourquoi tu parles de liste), alors un simple n = 18423^18424 suffit ;)
PCPT
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
20 juil. 2005 à 18:38
"Gobillot" pardon ^^
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
20 juil. 2005 à 18:48
je pense qu'il doit prendre la combinaison 1 avec la 2, puis la 3, jusqu'à la 18424

puis avec la 2, il prend la 3, puis la 4, ect ...

jusqu'à la dernière possibilité 18423 avec la 18424



donc je trouve 169712676 = 18423 * 18424 / 2




Daniel
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
33william Messages postés 7 Date d'inscription samedi 25 juin 2005 Statut Membre Dernière intervention 22 juillet 2005
20 juil. 2005 à 19:11
je veux regrouper les 18424 combinaisons de 3 numéros dans un minimum de combinaisons de 6 numéros.
sachant qu'avec une combinaison de 6 numeros (ex: 11-24-30-31-33-48)
je peux avoir 20 combinaisons de 3 numeros(11-24-30;11-24-31;etc...31-33-48).
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
20 juil. 2005 à 19:22
désolé, je ne comprend toujours pas.
réduisons :
les numéros vont de 1 à 4 inclus
tu voudrais une liste avec :
1-2
1-3
1-4
2-3
2-4
3-4

et une autre liste avec :
1-2
1-3
1-4
2-1
2-3
2-4
3-1
3-2
3-4
4-1
4-2
4-3

c'est l'idée?
PCPT
0
33william Messages postés 7 Date d'inscription samedi 25 juin 2005 Statut Membre Dernière intervention 22 juillet 2005
20 juil. 2005 à 19:24
ce n'est pas ce que je veux faire.
je veux regrouper les 18424 combinaisons de 3 numéros dans un minimum de combinaisons de 6 numéros.
sachant qu'avec une combinaison de 6 numeros (ex: 11-24-30-31-33-48)
je peux avoir 20 combinaisons de 3 numeros(11-24-30;11-24-31;etc...31-33-48).
0
33william Messages postés 7 Date d'inscription samedi 25 juin 2005 Statut Membre Dernière intervention 22 juillet 2005
20 juil. 2005 à 19:36
je mets dans un objet list1 (de vb6) le resultat de la boucle suivante :
for i=1 to 47
for j=i+1 to 48
for k=j+1 to 49
list1.Additem i & j & k
next ,next,next
j'obtient donc les 18424 combis de 3 numeros.
je veux ensuite les regrouper dans un nombre (que je ne connais pas a l'avance) de combinaisons de 6 numeros.
En théorie on a 18424/20=921,2 combinaisons de 6 numéros or il me semble que l'on peux réduire de beaucoup ce nombre.
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
22 juil. 2005 à 12:27
salut'
est-ce que ce genre de suite te semble être le résultat à abtenir?


1 2 43 1 2 44


1 2 45 1 2 46


1 2 47 1 2 48


1 2 49 1 3 4


1 3 5 1 3 6


1 3 7 1 3 8


1 3 9 1 3 10


1 3 11 1 3 12


1 3 13 1 3 14
...

il y a 9212 lignes

en l'attente...
PCPT
0
33william Messages postés 7 Date d'inscription samedi 25 juin 2005 Statut Membre Dernière intervention 22 juillet 2005
22 juil. 2005 à 16:17
salut
non car les chiffres sont identiques dans ton exemple 1 3 11 1 3 12 (deux fois 1 et deux fois 3) , 1 3 13 1 3 14 (deux fois 1 et deux fois 3) .


ce que je recherche c'est une suite de 6 chiffres non identique


a vrai dire je voudrais obtenir un de combinaison de 6 numeros (nombre le plus petit possible) me permettant de gagner a coup sur 3 numeros
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
22 juil. 2005 à 16:23
comme dirait Coluche si t'as joué le 1 le 13 et le 1, t'as joué 2 fois le 1

le seul moyen de gagner à tous les coups, c'est de ne pas jouer


Daniel
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
22 juil. 2005 à 16:39
j'me doutais bien que j'essaiyais de trouver inutilement...
si là est le seul but, il n'y a aucun intérêt à repasser par une suite à 6 chiffres, surtout que çà n'apportera rien comme "valeur sûre" pour trouver toujours 3bons numéros sur 6.

tiens, voici tes 11 suites telles que tu les veux alors....


2 48 49 3 4 5


6 48 49 7 8 9


10 48 49 11 12 13


14 48 49 15 16 17


18 48 49 19 20 21


22 48 49 23 24 25


26 48 49 27 28 29


30 48 49 31 32 33


34 48 49 35 36 37


38 48 49 39 40 41


42 48 49 43 44 45

et voici le test de boucle :

If (Tablo2(cpt2).C1 <> Tablo2(cpt2).C4 And Tablo2(cpt2).C1 <> Tablo2(cpt2).C5 And Tablo2(cpt2).C1 <> Tablo2(cpt2).C6) And _
(Tablo2(cpt2).C2 <> Tablo2(cpt2).C4 And Tablo2(cpt2).C2 <> Tablo2(cpt2).C5 And Tablo2(cpt2).C2 <> Tablo2(cpt2).C6) And _
(Tablo2(cpt2).C3 <> Tablo2(cpt2).C4 And Tablo2(cpt2).C3 <> Tablo2(cpt2).C5 And Tablo2(cpt2).C3 <> Tablo2(cpt2).C6) Then

...

bye

PCPT
0
Rejoignez-nous