Mathematica, 50 -> 47 -> 42 octets
p = Join[Range[2, #, 2], Range[1, #, 2]] &
Essayez-le en ligne!
Merci à user202729 pour avoir souligné le double potentiel d'optimisation Join [] créé par Flatten [] et l'utilisation de fonctions pures.
Je voudrais ajouter deux remarques.
1) Il est assez simple de construire une permutation spécifique sans succession descendante ou ascendante pour n> = 4 comme demandé n l'OP.
Il se compose de deux listes consécutives.
Pour n même, ce sont:
list1 = (2,4, ..., n / 2)
list2 = (1,3, ..., n / 2-1)
Pour n impair, nous avons:
list1 = (2,4, ..., Floor [n / 2])
list2 = (1,3, ..., Floor [n / 2])
Pour cet "algorithme", une seule décision doit être prise (n pair ou impair), le reste consiste simplement à écrire n nombres.
Une solution Mathematica possible est fournie en haut.
2) Une question connexe est de savoir combien de telles permations existent en fonction de n.
Mathematica, 124 octets
a[0] = a[1] = 1; a[2] = a[3] = 0;
a[n_] := a[n] = (n + 1)*a[n - 1] - (n - 2)*a[n - 2] - (n - 5)*a[n - 3] + (n - 3)*a[n - 4]
Essayez-le en ligne!
Exemple:
a[#] & /@ Range[4, 12]
{2, 14, 90, 646, 5242, 47622, 479306, 5296790, 63779034}
Compter le nombre de ces permutations est un problème standard.
Pour n = 4, il y en a 2: {{2,4,1,3}, {3,1,4,2}}
Pour n = 5, il y en a 14: {{1,3,5,2,4}, {1,4,2,5,3}, {2,4,1,3,5}, {2,4, 1,5,3}, {2,5,3,1,4}, {3,1,4,2,5}, {3,1,5,2,4}, {3,5,1, 4,2}, {3,5,2,4,1}, {4,1,3,5,2}, {4,2,5,1,3}, {4,2,5,3, 1}, {5,2,4,1,3}, {5,3,1,4,2}}
Le nombre a (n) de ces permutations augmente rapidement: 2, 14, 90, 646, 5242, 47622, 479306, 5296790, 63779034, ...
Pour les grands n, le rapport a (n) / n! semble approcher la limite 1 / e ^ 2 = 0,135335 ... Je n'ai pas de preuve stricte mais ce n'est qu'une conjecture à partir de preuves numériques. Vous pouvez tester cela en essayant d'exécuter le programme en ligne.
Le programme ci-dessus (basé sur la référence donnée ci-dessous) calcule ces nombres.
Vous pouvez trouver plus d'informations dans la séquence correspondante sur OEIS: A002464 . Problème de Hertzsprung: façons d'organiser n rois non attaquants sur un tableau n X n, avec 1 dans chaque ligne et colonne. Aussi nombre de permutations de longueur n sans successions croissantes ou décroissantes.