Tu considère chaque élément comme un "nombre" et ensuite, tu fais une boucle qui "parcours" ceci
Considérons que l'on ait 60 éléménts, appelons ce nombre K, le nb d'éléments
tu travailles en base K et tu affiches tous les nombres de cette base de 1 à xxxx (sur K digits)
ensuite, chacun des digits va représenter un indice du tableau de tes éléments
Tu transforme l'indice en élément réel
Hop tu as obetnu ce que tu voulais
Exemple avec 3 éléments... on travaille donc en base 3
ensemble = [4,TOTO, 3.14]
4 <=> indice 0
TOTO <=> indice 1
3.14 <=> indice 2
on "génère" tous les nombres en base 3 =>
0, 1, 2, 10, 11, 12, 20, 21, 22, 100, 101, ... 222 (pfiou !)
ça te donne tous les éléments suivants en faisant correspondre chaque digit du nombre en base K (ici 3)
0 => 4
1=> TOTO
2 => 3.12
10 => TOTO et 4
11 => TOTO et TOTO (les nombres avec doublons étant éventuellement à éliminer ensuite)
12 => TOTO et 3.14
20 => 3.14 et 4
21 => 3.14 et TOTO
100 => on l'élimine
101 => idem
102 => TOTO et 4 et 3.14
etc
ça te va non ?
---------------
Tout cul tendu mérite son dû