Outil pour générer les combinaisons. En mathématiques, un choix de k objets parmi n objets discernables, ou l'ordre n'intervient pas, se représente par ensemble d'éléments, dont le cardinal est le coefficient binomial.
Combinaisons de K parmi N - dCode
Catégorie(s) : Combinatoire
dCode est gratuit et ses outils sont une aide précieuse dans les jeux, les maths, les énigmes, les géocaches, et les problèmes à résoudre au quotidien !
Une suggestion ? un problème ? une idée ? Écrire à dCode !
Pour obtenir une liste de combinaison avec un minimum de nombres garantis (aussi appelée réduction de tirage), dCode a un outil pour ça :
Pour tirer des nombres au hasard (Loto, Euromillions, Keno, etc.)
Une combinaison de $ k $ parmi $ n $ est le nom donné au nombre de façons distinctes de choisir $ k $ éléments parmi autre un ensemble de $ n $ éléments (avec $ n \ge k $), sans tenir compte de l'ordre.
La combinaison se note $ C_n^k $ ou $ \binom{n}{k} $.
Le générateur permet de choisir les valeurs de $ k $ et $ n $, et génère les listes de combinaisons possibles correspondantes avec des chiffres ou des lettres (ou encore une liste personnalisée).
Exemple : 2 parmi 4 donne : (1,2),(1,3),(1,4),(2,3),(2,4),(3,4)
La génération est limitée à quelques milliers de combinaisons. L'algèbre combinatoire pouvant introduire de très grands nombres, cette limite permet de ne pas surcharger le serveur.
Pour des générations de listes importantes, dCode propose des prestations de service sur devis.
Le calcul a effectuer utilise la loi binomiale et le coefficient binomial suivant : $$ C_n^k = \binom{n}{k} = \frac{n!}{k!(n-k)!} $$
Les combinaisons utilisent des calculs de factorielles (le point d'exclamation !).
2 parmi 3 = 3 combinaisons | (1,2)(1,3)(2,3) |
2 parmi 4 = 6 combinaisons | (1,2)(1,3)(1,4)(2,3)(2,4)(3,4) |
2 parmi 5 = 10 combinaisons | (1,2)(1,3)(1,4)(1,5)(2,3)(2,4)(2,5)(3,4)(3,5)(4,5) |
2 parmi 6 = 15 combinaisons | (1,2)(1,3)(1,4)(1,5)(1,6)(2,3)(2,4)(2,5)(2,6)(3,4)(3,5)(3,6)(4,5)(4,6)(5,6) |
2 parmi 7 = 21 combinaisons | (1,2)(1,3)(1,4)(1,5)(1,6)(1,7)(2,3)(2,4)(2,5)(2,6)(2,7)(3,4)(3,5)(3,6)(3,7)(4,5)(4,6)(4,7)(5,6)(5,7)(6,7) |
2 parmi 8 = 28 combinaisons | (1,2)(1,3)(1,4)(1,5)(1,6)(1,7)(1,8)(2,3)(2,4)(2,5)(2,6)(2,7)(2,8)(3,4)(3,5)(3,6)(3,7)(3,8)(4,5)(4,6)(4,7)(4,8)(5,6)(5,7)(5,8)(6,7)(6,8)(7,8) |
2 parmi 9 = 36 combinaisons | (1,2)(1,3)(1,4)(1,5)(1,6)(1,7)(1,8)(1,9)(2,3)(2,4)(2,5)(2,6)(2,7)(2,8)(2,9)(3,4)(3,5)(3,6)(3,7)(3,8)(3,9)(4,5)(4,6)(4,7)(4,8)(4,9)(5,6)(5,7)(5,8)(5,9)(6,7)(6,8)(6,9)(7,8)(7,9)(8,9) |
3 parmi 4 = 4 combinaisons | (1,2,3)(1,2,4)(1,3,4)(2,3,4) |
3 parmi 5 = 10 combinaisons | (1,2,3)(1,2,4)(1,2,5)(1,3,4)(1,3,5)(1,4,5)(2,3,4)(2,3,5)(2,4,5)(3,4,5) |
3 parmi 6 = 20 combinaisons | (1,2,3)(1,2,4)(1,2,5)(1,2,6)(1,3,4)(1,3,5)(1,3,6)(1,4,5)(1,4,6)(1,5,6)(2,3,4)(2,3,5)(2,3,6)(2,4,5)(2,4,6)(2,5,6)(3,4,5)(3,4,6)(3,5,6)(4,5,6) |
3 parmi 7 = 35 combinaisons | (1,2,3)(1,2,4)(1,2,5)(1,2,6)(1,2,7)(1,3,4)(1,3,5)(1,3,6)(1,3,7)(1,4,5)(1,4,6)(1,4,7)(1,5,6)(1,5,7)(1,6,7)(2,3,4)(2,3,5)(2,3,6)(2,3,7)(2,4,5)(2,4,6)(2,4,7)(2,5,6)(2,5,7)(2,6,7)(3,4,5)(3,4,6)(3,4,7)(3,5,6)(3,5,7)(3,6,7)(4,5,6)(4,5,7)(4,6,7)(5,6,7) |
4 parmi 5 = 5 combinaisons | (1,2,3,4)(1,2,3,5)(1,2,4,5)(1,3,4,5)(2,3,4,5) |
4 parmi 6 = 15 combinaisons | (1,2,3,4)(1,2,3,5)(1,2,3,6)(1,2,4,5)(1,2,4,6)(1,2,5,6)(1,3,4,5)(1,3,4,6)(1,3,5,6)(1,4,5,6)(2,3,4,5)(2,3,4,6)(2,3,5,6)(2,4,5,6)(3,4,5,6) |
4 parmi 7 = 35 combinaisons | (1,2,3,4)(1,2,3,5)(1,2,3,6)(1,2,3,7)(1,2,4,5)(1,2,4,6)(1,2,4,7)(1,2,5,6)(1,2,5,7)(1,2,6,7)(1,3,4,5)(1,3,4,6)(1,3,4,7)(1,3,5,6)(1,3,5,7)(1,3,6,7)(1,4,5,6)(1,4,5,7)(1,4,6,7)(1,5,6,7)(2,3,4,5)(2,3,4,6)(2,3,4,7)(2,3,5,6)(2,3,5,7)(2,3,6,7)(2,4,5,6)(2,4,5,7)(2,4,6,7)(2,5,6,7)(3,4,5,6)(3,4,5,7)(3,4,6,7)(3,5,6,7)(4,5,6,7) |
5 parmi 6 = 6 combinaisons | (1,2,3,4,5)(1,2,3,4,6)(1,2,3,5,6)(1,2,4,5,6)(1,3,4,5,6)(2,3,4,5,6) |
5 parmi 7 = 21 combinaisons | (1,2,3,4,5)(1,2,3,4,6)(1,2,3,4,7)(1,2,3,5,6)(1,2,3,5,7)(1,2,3,6,7)(1,2,4,5,6)(1,2,4,5,7)(1,2,4,6,7)(1,2,5,6,7)(1,3,4,5,6)(1,3,4,5,7)(1,3,4,6,7)(1,3,5,6,7)(1,4,5,6,7)(2,3,4,5,6)(2,3,4,5,7)(2,3,4,6,7)(2,3,5,6,7)(2,4,5,6,7)(3,4,5,6,7) |
Le principe des combinaisons est de ne pas tenir compte de la notion d'ordre (1,2) = (2,1). Utiliser les permutations pour obtenir des combinaisons ordonnées possibles.
dCode propose un outil dédié pour les combinaisons avec répétitions.
Pour calculer les probabilités de gains dans les jeux de hasard comme les jeux de tirage au sort, les combinaisons sont les outils les plus adaptés.
Pour gagner au loto français, avant 2008, consistait en un tirage de 6 boules parmi 49.
Exemple : Calculer le nombre de combinaisons de 6 parmi 49 = 13 983 816 combinaisons. La probabilité de gagner est donc 1 chance sur 14 millions.
Pour gagner au loto français, après 2008, le tirage est de 5 boules parmi 49, puis 1 boule parmi 10.
Exemple : Calculer le nombre de combinaisons de 5 parmi 49 = 1 906 884, et de multiplier par (1 parmi 10) = 10 soit un total de 19 068 840 combinaisons. La probabilité de gagner est donc 1 chance sur 19 millions.
Pour gagner à l'EuroMillions, le tirage est de 5 boules parmi 50, puis 2 étoiles parmi 12.
Exemple : Calculer le nombre de combinaisons de 5 parmi 50 = 2 118 760, et de multiplier par (2 parmi 12) = 66 soit un total de 139 838 160 combinaisons. La probabilité de gagner est donc 1 chance sur 140 millions.
Pour gagner à EuroDreams, le tirage est de 6 numéros parmi 40, puis 1 numéro parmi 5.
Exemple : Calculer le nombre de combinaisons de 6 parmi 40 = 3 838 380, et de multiplier par (1 parmi 5) = 5 soit un total de 19 191 900 combinaisons. La probabilité de gagner est donc 1 chance sur 19 millions.
De nombreux livres décrivent des stratégies pour les tirages au sort comme ici (lien affilié) Une des stratégies est de jouer des systèmes réducteurs.
Si $ k = 0 $ alors 0 élément sont demandés, il n'y a un unique résultat vide. Ainsi $$ \binom{n}{0} = 1 $$
Si $ n = 0 $ alors il n'y a 0 élément, impossible d'en prendre $ k $, donc il n'y a pas de résultats. Donc $$ \binom{0}{k} = 0 $$
Par convention 0 parmi 0 vaut 1 : $$ \binom{0}{0} = 1 $$
// pseudo code
debut denombrement_combinaisons( k , n ) {
si (k = n) retourner 1;
si (k > n/2) k = n-k;
res = n-k+1;
pour i = 2 par 1 tant que i < = k
res = res * (n-k+i)/i;
fin pour
retourner res;
fin// langage C
double factorielle(double x) {
double i;
double result=1;
if (x >= 0) {
for(i=x;i>1;i--) {
result = result*i;
}
return result;
}
return 0; // erreur
}
double compter_combinaisons(double x,double y) {
double z = x-y;
return factorielle(x)/(factorielle(y)*factorielle(z));
}<code><br>// Langage VBA<br>Function Factorielle(n As Integer) As Double<br> Factorielle = 1<br> For i = 1 To n<br> Factorielle = Factorielle * i<br> Next<br>End Function<br>Function NbCombinaisons (k As Integer, n As Integer) As Double<br> Dim z As Integer<br> z = n - k<br> NbCombinaisons = Factorielle(n) / (Factorielle(k) * Factorielle(z))<br>End Function<br></code>
// javascript
function combinaisons(a) { // a = new Array(1,2)
var fn = function(n, source, en_cours, tout) {
if (n == 0) {
if (en_cours.length > 0) {
tout[tout.length] = en_cours;
}
return;
}
for (var j = 0; j < source.length; j++) {
fn(n - 1, source.slice(j + 1), en_cours.concat([source[j]]), tout);
}
return;
}
var tout = [];
for (var i=0; i < a.length; i++) {
fn(i, a, [], tout);
}
tout.push(a);
return tout;
}
dCode se réserve la propriété du code source pour "Combinaisons de K parmi N". Sauf code licence open source explicite (indiqué Creative Commons / gratuit), l'algorithme pour "Combinaisons de K parmi N", l'applet ou snippet (convertisseur, solveur, chiffrement / déchiffrement, encodage / décodage, encryptage / décryptage, traducteur) ou les fonctions liées à "Combinaisons de K parmi N" (calculer, convertir, résoudre, décrypter / encrypter, déchiffrer / chiffrer, décoder / encoder, traduire) codés en langage informatique (Python, Java, C#, PHP, Javascript, Matlab, etc.) ou les données, en téléchargement, script, ou les accès API à "Combinaisons de K parmi N" ne sont pas publics, idem pour un usage hors ligne, PC, mobile, tablette, appli iPhone ou Android !
Rappel : dCode est gratuit.
Le copier-coller de la page "Combinaisons de K parmi N" ou de ses résultats est autorisée (même pour un usage commercial) tant que vous créditez dCode !
L'exportation des résultats sous forme de fichier .csv ou .txt est gratuite en cliquant sur l'icone export
Citer comme source bibliographique :
Combinaisons de K parmi N sur dCode.fr [site web en ligne], consulté le 22/11/2024,