Inspiré de Taken from a question at Stack Overflow .
Le défi
Étant donné un entier n>1
, affichez tous les tableaux qui peuvent être obtenus en échangeant exactement deux entrées dans le tableau [1, 2, ..., n]
.
Les tableaux peuvent être produits dans n'importe quel ordre.
Vous pouvez toujours utiliser [0, 1, ..., n-1]
(basé sur 0) au lieu de [1, 2, ..., n]
(basé sur 1).
Règles supplémentaires
L'entrée et la sortie sont flexibles comme d'habitude .
Les programmes ou fonctions sont autorisés, dans n'importe quel langage de programmation . Les failles standard sont interdites.
Le code le plus court en octets gagne.
Cas de test
L'entrée 2
donne la sortie (supposée basée sur 1)
2 1
L'entrée 3
donne la sortie (notez que les trois tableaux peuvent être dans n'importe quel ordre)
1 3 2
2 1 3
3 2 1
L'entrée 4
donne la sortie
1 2 4 3
1 3 2 4
1 4 3 2
2 1 3 4
3 2 1 4
4 2 3 1
L'entrée 7
donne la sortie
1 2 3 4 5 7 6
1 2 3 4 6 5 7
1 2 3 4 7 6 5
1 2 3 5 4 6 7
1 2 3 6 5 4 7
1 2 3 7 5 6 4
1 2 4 3 5 6 7
1 2 5 4 3 6 7
1 2 6 4 5 3 7
1 2 7 4 5 6 3
1 3 2 4 5 6 7
1 4 3 2 5 6 7
1 5 3 4 2 6 7
1 6 3 4 5 2 7
1 7 3 4 5 6 2
2 1 3 4 5 6 7
3 2 1 4 5 6 7
4 2 3 1 5 6 7
5 2 3 4 1 6 7
6 2 3 4 5 1 7
7 2 3 4 5 6 1
[0 ... n-1]
vs [1 ... n]
! Je me sens toujours un peu ennuyé quand je dois virer sur un 1+
index J parce que nul.