Bonjour,
J'ai besoin de l'aide de costaud en PHP car je suis en train de galérer sur la création d'un script me permettant d'afficher toutes les combinaisons possibles de X éléments.
Par exemple, je voudrais afficher avec les lettres A, B, C, D les combinaisons suivantes :
A
B
C
D
AB
AC
AD
BC
BD
CD
ABC
ABD
ACD
BCD
ABCD
Je voudrais aussi pouvoir afficher l'ensemble des combinaisons pour 6 lettres A, B, C, D, E, F
J'avais penser à l'algorithme suivant pour faire mon script mais je galère et je ne sais pas si c'est la bonne solution :
- on compte de 0 à (2^n)-1
- on convertit chacun de ces nombres en représentation binaire sur n chiffres
- chaque représentation binaire définit un sous-ensemble (0 signifie qu'on ne prend pas l'élément correspondant, 1 qu'on le prend)
Exemple avec ABC :
on compte de 0 à 7 :
0 -> 000 -> {}
1 -> 001 -> {C}
2 -> 010 -> {B}
3 -> 011 -> {B,C}
4 -> 100 -> {A}
5 -> 101 -> {A,C}
6 -> 110 -> {A,B}
7 -> 111 -> {A,B,C}
Ainsi pour afficher toutes les combinaisons pour A, B, C, D, E, F
il faudrait compter de 0 à 63 :
0 -> 000000 -> {}
à
63 -> 111111 -> {A,B,C,D,E,F}
Le script PHP que je cherche à écrire est extrêment compliquer donc je demande qu'aux costauds en PHP de l'écrire !
Merci
++
Laeticia