Forum de mathématiques - Bibm@th.net
Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
- Accueil
- » Café mathématique
- » combinaisons
- » Répondre
Répondre
Résumé de la discussion (messages les plus récents en premier)
- yoshi
- 19-07-2017 17:47:53
Bonsoir,
Là, tu n'es pas clair...
Chiffre ? Nombre ? ce n'est pas la même chose...
Alors soyens précis : il n'existe que dix chiffres [tex]\{0, 1, 2, 3, 4, 5, 6, 7, 8, 9\}[/tex]
Alors 52, lui, est un nombre à deux chiffres, mais pas quatre...
Désolé, je ne demande qu'à t'aider, mais je n'ai aucune idée de ce que tu peux bien vouloir dire ; donne 3 ou 4 exemples...
@+
- Eden
- 19-07-2017 15:33:39
bonjour je voudrais avoir toutes le combinaisons possible a 4 chiffres entre 1 et 52
- freddy
- 17-07-2016 08:41:14
Hi guy !
Bonjour ? Stp ? Merci ? Ça fait partie de ton vocabulaire ?
- ALEXBF
- 16-07-2016 22:31:41
DanBlass, peux-tu me donner le nombre de combinaison de 5 chiffres avec avec 14 numéros, 15 , 16, 18
- Bemo52
- 26-02-2014 14:17:55
Bonjour.
Avoir comme optimum 3 sur 5 si 5 on a besoin de 6 combinaisons de 5 !
Soit 6 Combinaisons de 5 Numéros (sur 792 totales), donnant 60 Triplets.
Belle performance, car ces 6 Combinaison représentent en fait 57 Triplet (sans doublons) sur 220 Possibles.Cela semble bien étre le minimum possible, reste à trouver (ou retrouver) la méthode de calcul permettant de valider les résultats.
La révision du Triangle de Pascal en autre .@ +
Salut,
Facile a valider les 6 combinaisons.
Tire les 792 combinaisons de 5 et verifie si a chaque combinaison correspond au moins 3 dans les 6 combinaisons de 5 indiquees plus haut.
Eclate tes 12 numeros en 2.
6 d`un cote et 6 de l`autre.
En tirant 5 numeros parmi 12, la pire des distributions est 3 dans le premier de 6 et 2 dans le second (ou l`inverse 2-3).
En utilisant la force brute on a 12 combinaisons (C(6,5)*2).
Avec plus de raisonnement, on obtiendrait 6 combinaisons de 5 (garantie 3 sur 5 si 5 parmi 12).
Attention : avec ces 6 combinaisons on couvre AU MOINS un 3 sur 5 (pas les 10 possibles C(5,3)).
La nuance est de taille.
- DanBlass
- 09-02-2014 11:51:07
Bonjour.
Avoir comme optimum 3 sur 5 si 5 on a besoin de 6 combinaisons de 5 !
Soit 6 Combinaisons de 5 Numéros (sur 792 totales), donnant 60 Triplets.
Belle performance, car ces 6 Combinaison représentent en fait 57 Triplet (sans doublons) sur 220 Possibles.
Cela semble bien étre le minimum possible, reste à trouver (ou retrouver) la méthode de calcul permettant de valider les résultats.
La révision du Triangle de Pascal en autre .
@ +
- Bemo52
- 29-01-2014 19:47:15
Resalut,
Et si on veut avoir 3 sur 5 si 5 on a besoin de 6 combinaisons de 5 (pas plus)
01 02 04 05 11
01 03 05 07 09
02 03 07 09 10
03 04 09 10 11
03 06 08 09 12
06 07 08 10 12
- Bemo52
- 29-01-2014 19:43:31
On peu descendre à 30 Combinaisons.
(Mais dur de prouver que c'est le minimum)1_2_3_7_10
1_2_4_5_7
1_2_6_8_11
1_2_7_11_12
1_2_9_10_12
1_3_4_5_9
1_3_4_11_12
1_3_6_8_9
1_4_5_6_8
1_4_6_9_10
1_5_8_9_10
1_5_10_11_12
1_6_7_8_12
1_6_7_9_11
2_3_4_8_10
2_3_5_8_12
2_3_5_6_10
2_3_9_10_11
2_4_5_10_11
2_4_6_11_12
2_4_7_8_9
2_5_6_7_9
3_4_6_7_11
3_5_7_8_11
3_6_8_10_12
3_7_9_10_12
4_5_7_10_12
4_8_9_11_12
5_6_9_11_12
6_7_8_10_11+
Salut,
On peut avoir moins que 30.
29 combinaisons voir ici :
http://www.ccrwest.org/cover/t_pages/t3 … 2_5_3.html
- totomm
- 29-01-2014 19:26:53
Bonsoir,
@ DanBlass : Bravo et merci. Vérification faite : Toutes les 220 combinaisons de 3 nombres pris parmi 12 y sont.
Voilà qui va relancer les cogitations sur ce problème.
Pouvez-vous donner le principe de votre méthode ? A+
- DanBlass
- 28-01-2014 17:42:26
On peu descendre à 30 Combinaisons.
(Mais dur de prouver que c'est le minimum)
1_2_3_7_10
1_2_4_5_7
1_2_6_8_11
1_2_7_11_12
1_2_9_10_12
1_3_4_5_9
1_3_4_11_12
1_3_6_8_9
1_4_5_6_8
1_4_6_9_10
1_5_8_9_10
1_5_10_11_12
1_6_7_8_12
1_6_7_9_11
2_3_4_8_10
2_3_5_8_12
2_3_5_6_10
2_3_9_10_11
2_4_5_10_11
2_4_6_11_12
2_4_7_8_9
2_5_6_7_9
3_4_6_7_11
3_5_7_8_11
3_6_8_10_12
3_7_9_10_12
4_5_7_10_12
4_8_9_11_12
5_6_9_11_12
6_7_8_10_11
+
- totomm
- 27-08-2011 09:41:00
Bonjour,
@ freddy : Mon code est dans le sous-forum "Programmation"
Cordialement
- totomm
- 24-05-2011 09:09:41
Bonjour,
petit corrigé pour le post #42 :
Les triplets sont de 0 à 119 dans l'ordre de leur génération :
il faut lire 219 et non pas 119
Cordialement
- totomm
- 23-05-2011 17:07:36
re,
télescopage....
merci à tous deux, une vérification ou une alerte ne sont jamais inutiles
Cordialement
- totomm
- 23-05-2011 17:03:59
Bonjour,
Encore une fois, ne pas s'affoler, je serais ravi qu'une erreur me soit indiquée
Voici une vérification faite avant de publier mon résultat :
vérification : Les triplets sont vus 320 fois, chacun vu ce nombre de fois :
[1, 1, 1, 2, 1, 2, 1, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 2, 2, 1, 2, 1, 1, 1, 2, 1, 1, 2, 2, 1, 3, 1, 3, 2, 1, 4, 1, 1, 1, 1, 2, 2, 2, 2, 1, 2, 2, 1, 1, 2, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 2, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 2, 2, 1, 1, 3, 4, 1, 1, 1, 1, 3, 2, 2, 1, 3, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 2, 1, 1, 1, 2, 2, 1, 1, 2, 1, 2, 1, 1, 2, 2, 1, 1, 1, 1, 2, 1, 2, 1, 1, 2, 2, 1, 1, 2, 3, 2, 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 2, 1, 2, 2, 2, 2, 2, 2, 1, 1, 2, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 2, 3, 1, 3, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 3, 2, 2, 1, 2, 1, 1, 2, 1, 1, 2, 1, 1, 2, 1, 2, 2, 1, 1, 2]
Les triplets sont de 0 à 119 dans l'ordre de leur génération :
J'ai donné plus haut le nombre de combinaisons retenues à chaque itération et l'ordre dans lequel elles avaient été retenues en en donnant la liste
ci-dessous les programmes écrits en Python version 3.2 pour utilisation éventuelle :
Voici la création des 5-combinaisons et des triplets:
list12_5=[]
for a in range(1,9):
for b in range(a+1,10):
for c in range(b+1,11):
for d in range(c+1,12):
for e in range(d+1,13):
list12_5.append([a,b,c,d,e])
list12_3=[]
for c in range(1,11):
for d in range(c+1,12):
for e in range(d+1,13):
list12_3.append([c,d,e])
print("Combinaisons :")
print("12 nombres pris par 5 par 5 =",len(list12_5))
print("12 nombres pris par 3 par 3 =",len(list12_3))
Voici la vérification de la présence des triplets dans les 32 5-combinaisons-retenues
print(combRetenus)
Tnb=[0]*len(list12_3)
nbdansTnb=0
for n in range(0,len(combRetenus)):
cr=combRetenus[n]
for a in range(0,3):
for b in range(a+1,4):
for c in range(b+1,5):
T=[cr[a],cr[b],cr[c]]
i=list12_3.index(T)
Tnb[i] += 1
nbdansTnb += 1
print()
print("vérification : Les triplets sont vus",nbdansTnb,"fois, chacun vu ce nombre de fois :")
print(Tnb)
Cordialement
- yoshi
- 23-05-2011 16:52:02
Salut freddy,
Erreur de programmation...
Je viens de tester, totomm n'a pas fait erreur
Toutes les combinaisons de 3 symboles pris parmi 5, d'indices 0,1,2,3,4 sont au nombre de 10 :
[[0, 1, 2], [0, 1, 3], [0, 1, 4], [0, 2, 3], [0, 2, 4], [0, 3, 4], [1, 2, 3], [1, 2, 4], [1, 3, 4], [2, 3, 4]]
Il retient 32 5-combinaisons de 12 :
[[1, 2, 3, 4, 5], [1, 2, 6, 7, 8], [1, 2, 9, 10, 11], [1, 3, 6, 9, 12], [1, 4, 7, 10, 12], [2, 3, 7, 11, 12], [2, 4, 8, 9, 12], [3, 4, 6, 8, 10], [3, 5, 7, 8, 9], [4, 5, 6, 7, 11], [5, 8, 10, 11, 12], [2, 5, 6, 9, 10], [1, 3, 4, 8, 11], [1, 3, 5, 7, 10], [1, 5, 6, 8, 12], [2, 4, 6, 11, 12], [2, 4, 7, 9, 10], [6, 7, 8, 9, 11], [1, 4, 5, 9, 11], [1, 6, 7, 10, 11], [2, 3, 8, 9, 10], [2, 3, 5, 6, 11], [2, 5, 7, 8, 12], [3, 4, 5, 8, 12], [3, 9, 10, 11, 12], [1, 7, 8, 9, 10], [3, 4, 6, 7, 9], [1, 2, 6, 10, 12], [5, 6, 7, 9, 12], [1, 2, 8, 11, 12], [1, 4, 5, 6, 10], [4, 7, 8, 10, 11]]
J'ai pris chaque combinaison 1 par une, puis de chacune grâce à mes indices de combinaison, j'en ai extrait systématiquement les 10 combinaisons de 3 parmi 5 que j'ai stockées dans une autre liste.
J'ai ensuite
* trié cette liste (c'est une "méthode de liste" built-in de Python : pas de risque d'erreur) par ordre croissant
* éliminé les doublons, triplons...
J'ai ensuite vérifié le nombre de 3-combinaisons restantes forcément différentes, réponse 220...
Donc, tout est ok !
Voilà le morceau de prog correspondant :
[1, 4, 7, 10, 12], [2, 3, 7, 11, 12], [2, 4, 8, 9, 12], [3, 4, 6, 8, 10],\
[3, 5, 7, 8, 9], [4, 5, 6, 7, 11], [5, 8, 10, 11, 12], [2, 5, 6, 9, 10],\
[1, 3, 4, 8, 11], [1, 3, 5, 7, 10], [1, 5, 6, 8, 12], [2, 4, 6, 11, 12],\
[2, 4, 7, 9, 10], [6, 7, 8, 9, 11], [1, 4, 5, 9, 11], [1, 6, 7, 10, 11],\
[2, 3, 8, 9, 10], [2, 3, 5, 6, 11], [2, 5, 7, 8, 12], [3, 4, 5, 8, 12],\
[3, 9, 10, 11, 12], [1, 7, 8, 9, 10], [3, 4, 6, 7, 9], [1, 2, 6, 10, 12],\
[5, 6, 7, 9, 12], [1, 2, 8, 11, 12], [1, 4, 5, 6, 10], [4, 7, 8, 10, 11]]
Indices=[]
for i in range(0,3):
for j in range(i+1,4):
for k in range(j+1,5):
Indices.append([i,j,k])
I312=[]
for i in range(32):
A=L[i]
for j in range(10):
B=Indices[j]
a,b,c=A[B[0]],A[B[1]],A[B[2]]
I312.append([a,b,c])
j=-1
I312=sorted(sorted(I312))
while j<len(I312)-1:
j+=1
A=I312[j]
while A in I312[j+1:]:
del I312[j+1]
print len(I312)
Par acquit de conscience après, j'ai demandé l'affichage de cette fameuse liste I312 de 220 combinaisons et j'ai vérifié une par une toutes les combinaisons : elles sont bien conformes à ce que j'attendais.
@+