Peut-être, mais je n'ai pas compris ton explication.
Pour générer tous les arrangements, je procède ainsi.
Soient N entiers, les éléments d'un arrangement (numéroté de 1 à N)
Ils valent tous 0 initialement.
afficher les N entiers.
//chercher l'arrangement suivant.
si le premier entier ne vaut pas K, l'augmenter sinon
si le suivant ne vaut pas K, l'augmenter sinon
...etc jusqu'à l'entier N-1 compris
... si l'entier N ne vaut pas K, l'augmenter sinon
c'est terminé
si ce n'est pas terminé, recommencer à partir de l'affichage.
Il me faut donc une fonction pour passer à l'arrangement suivant, une seconde pour l'afficher, et main qui appelle les deux.
Maintenant, tu ne cherches que les combinaisons. Elles ont pour propriété d'être insensible à l'ordre de leurs éléments.
Il suffit donc de ne considérer que celles dont les éléments sont en ordre croissant.
C'est uniquement la fonction de "suivante" qui change.
Partager