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 : \(C_n^k=rac{n!}{k!(n-k)!}\)
Plus aucun jeu, plus aucune énigme, plus aucune chasse au trésor ne vous résisteront !
Ecrire à l'auteur de dCode
Annonces sponsorisées :
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.
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à.
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.
// 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));
}
dCodeur se réserve la propriété du code source du script Combinaisons de k parmi n. Toute demande pour un applet (déchiffrement, chiffrement, encodage, décodage, encryptage, décryptage, traduction, traducteur, conversion, solveur), une fonction (décrypter, encrypter, déchiffrer, chiffrer, décoder, code, traduire, convertir, résoudre) ou un script en langage Java, C++, PHP, Python, etc. pourra être formulée via la page contact. Si vous avez besoin de télécharger cet outil pour vous, votre entreprise ou association, n'hésitez pas !
© 2013 dcode.fr — Le site indispensable pour résoudre les énigmes, les jeux et les chasses au trésor. dCode