Étant donné un entier positif, génère tous les dérangements de objets.
Détails
- Un dérangement est une permutation sans point fixe. (Cela signifie que dans chaque numéro de dérangement, ne peux pas être dans la ème entrée).
- La sortie doit consister en des dérangements des nombres (ou alternativement ).
- Vous pouvez également toujours imprimer les dérangements de (ou respectivement) mais vous devez le spécifier.
- La sortie doit être déterministe, c'est-à-dire que chaque fois que le programme est appelé avec un certain comme entrée, la sortie doit être la même (ce qui inclut que l'ordre des dérangements doit rester le même), et la sortie complète doit être effectuée dans un temps fini à chaque fois (il ne suffit pas de le faire avec la probabilité 1).
- Vous pouvez supposer que
- Pour certains donnés, vous pouvez soit générer tous les dérangements, soit prendre un autre entier qui sert d'index et imprimer le -ième dérangement (dans l'ordre que vous avez choisi).
Exemples
Notez que l'ordre des dérangements ne doit pas nécessairement être le même que celui indiqué ici:
n=2: (2,1)
n=3: (2,3,1),(3,1,2)
n=4: (2,1,4,3),(2,3,4,1),(2,4,1,3), (3,1,4,2),(3,4,1,2),(3,4,2,1), (4,1,2,3),(4,3,1,2),(4,3,2,1)
OEIS A000166 compte le nombre de dérangements.