Vous allez obtenir un grand nombre de chaînes, c'est sûr...
Où x et y est de savoir comment vous définissez et r est le nombre de caractères que nous sélectionnons de --si je suis à vous comprendre correctement. Vous devriez certainement générer ces que de besoin et de ne pas se la couler douce et de dire, de générer un powerset, puis filtrer la longueur des chaînes.
La suivante n'est certainement pas la meilleure façon de générer ces, mais c'est intéressant de côté, aucun-le-moins.
Knuth (volume 4, fascicule 2, 7.2.1.3) nous dit que (s,t)-combinaison est équivalent à s+1 choses prises t à la fois avec la répétition, un (s,t)-combinaison est la notation utilisée par Knuth qui est égal à . Nous pouvons comprendre cela en générant d'abord chaque (s,t)-combinaison sous forme binaire (donc de longueur (s+t)) et en comptant le nombre de " 0 " à gauche de chaque 1.
10001000011101 --> devient la permutation: {0, 3, 4, 4, 4, 1}