Bonjour à tous,
Je cherche un algorithme permettant de générer toutes les combinaisons possibles à partir de la taille d'une chaine numérique.
Exemples :
Soit la chaine str = "00" (taille = 2), sachant que chaque caractère peut prendre la valeur 0, 1 ou 2 je souhaite avoir :
avec la chaine str = "000" (taille = 3),00 01 02
10 11 12
20 21 22
Pour str = "0000" (taille = 4), on a 3^4 = 81 possibilités000 001 002
010 011 012
020 021 022
100 101 102
110 111 112
120 121 122
200 201 202
210 211 212
220 221 222
Dans un second temps, j'aurais besoin de dire que certaines positions ne changeront pas.
Exemple : str = "00X0" (taille = 4 mais seulement 3 positions changent), je voudrais avoir :
Quelque soit la valeur de X, il ne doit pas être modifié.00X0 00X1 00X2
01X0 01X1 01X2
02X0 02X1 02X2
10X0 10X1 10X2
11X0 11X1 11X2
12X0 12X1 12X2
20X0 20X1 20X2
21X0 21X1 21X2
22X0 22X1 22X2
Je sèche sur l'algorithme reccursif (oui car je pense qu'il doit être recursif), je n'ai jamais été très à l'aise avec la récursivité
Merci à vous et bonne journée.
Partager