Combinaison de chiffres

Fermé
CFoued - 30 nov. 2010 à 18:15
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 30 nov. 2010 à 19:49
Bonjour, à tous, je cherche un programme pour faire des combinnaisons à six chiffres avec dix nombres ou plus. exemple : 00-01-02-03-04-05-06-07-08-09
-- 00-01-02-03-04-05.
-- 00-01-02-03-04-06.
-- 00-01-02-03-06-05.
-- 00-01-02-06-04-05.
-- 00-01-06-03-04-05.
-- 00-06-02-03-04-05.
-- 06-01-02-03-04-05.
....etc. je bloque à 07 c'est trop laborieux j'ai essayé avec excel mais je suis nul de chez nul je n'arrive pas à afficher les combinaisons ça met juste le nombre de possibilité, dans mon exemple ça met 7 ça me fait une belle jambe. alors s'il ya quelqu'un qui peux m'aider à résoudre ce blème en m'indiquant soit un programme, soit comment le faire sur excel ( détaillez SVP ) soit une methode analogique claire, je lui serrai éternellement (et même au-de là) reconnaissant. et pour prouver ma bonne fois voiçi une avance : " MERCI ".

1 réponse

KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 020
30 nov. 2010 à 19:49
Il faut concevoir la notion de récursivité qui se cache là dedans...

Cas le plus simple : 0, puisqu'il n'y a que "0" !

Cas général, si tu as obtenu une solution avec le nombre n-1, à l'étape n, tu généreras n+1 nouvelles solutions, en plaçant le nombre n sur toutes les positions possibles.

Pour n=0 : on a "0"

Pour n=1 :
on créé 2 solutions avec "0" : "10" "01",

Pour n=2 :
on créé 3 solutions avec "10" : "210" "120" "102"
on créé 3 solutions avec "01" : "201" "021" "012"

Pour n=3 :
On créé 4 solutions avec "210" : "3210" "2310" "2130" "2103"
On créé 4 solutions avec "120" : "3120" "1320" "1230" "1203"
On créé 4 solutions avec "102" : "3102" "1302" "1032" "1023"
On créé 4 solutions avec "201" : "3201" "2301" "2031" "2013"
On créé 4 solutions avec "021" : "3021" "0321" "0231" "0213"
On créé 4 solutions avec "012" : "3012" "0312" "0132" "0123"

Avec cet algorithme tu généreras toutes les solutions.

Remarque : il est assez simple de calculer le nombre de solutions pour n, c'est (n+1)!

Donc pour n=7, il y a 40 320 solutions ! Je te déconseilles donc de les faire à la main...

Et puis je ne pense pas qu'il soit nécessaire de considérer des nombres à deux chiffres, pour n=9 tu as déjà 3,6 millions de valeurs, chacune représentée par 9 chiffres, ce qui te donnerait un fichier Excel de 31 Mo.
Alors si tu passes à n=10, il te faudrait deux chiffres plus le caractères "-" soit 29 caractères pour chacune des 40 millions de solutions, soit un fichier Excel de 1Go !!!

Donc limite toi aux 10 chiffres (n=0 ... 9), ce sera largement suffisant...
0