Rechercher un outil sur dCode.fr


Combinaisons de k parmi n

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. Le calcul se fait de la manière suivante :

dCode est ton ami !

Plus aucun jeu, plus aucune énigme, plus aucune chasse au trésor ne vous résisteront.

Ecrire à l'auteur de dCode

Combinaisons de k parmi n

Générer la liste des combinaisons

k parmi n
OU
lettres parmi

La génération ne renverra pas de résultat si le dénombrement des combinaisons est largement supérieur à 2000 afin de ne pas surcharger le serveur.

Les lettres doivent être distinctes pour obtenir un résultat unique.

Dénombrer les combinaisons

k parmi n

Le programme accepte les très grands nombres (précision arbitraire).

Le principe des combinaisons est de ne pas tenir compte de la notion d'ordre. Utiliser les permutations pour celà.

Combien y a-t-il de combinaisons possibles au loto ?

Au loto français, avant 2008, on tire 6 boules parmi 49, il suffit de calculer le nombre de combinaisons de 6 parmi 49 = 13 983 816.

Au loto français, après 2008, on tire 5 boules parmi 49, et 1 parmi 10, il suffit de calculer le nombre de combinaisons de 5 parmi 49 = 1 906 884, à multiplier par 1 parmi 10 = 10 soit un total de 19 068 840.

Algorithme

// pseudo code début 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 // javascript function combinaisons(a) { // a = new Array(1,2) var fn = function(n, src, got, all) { if (n == 0) { if (got.length > 0) { all[all.length] = got; } return; } for (var j = 0; j < src.length; j++) { fn(n - 1, src.slice(j + 1), got.concat([src[j]]), all); } return; } var all = []; for (var i=0; i < a.length; i++) { fn(i, a, [], all); } all.push(a); return all; } // C double factorielle(double *x) { double i; double result=1; if(*x >= 1) { for(i=*x;i>1;i--) { result = result*i; } return result; } else if(*x == 0) return 1; return 0; } double compter_combinaisons(double x,double y) { double z = x-y; return factorielle(&x)/(factorielle(&y)*factorielle(&z)); }

Commentaires


Menu

Outils similaires

Recommander



Mots-clés

Liens


© 2012 dcode.fr — Le site indispensable pour résoudre les énigmes, les jeux et les chasses au trésor. dCode