Mathematica, 50 -> 47 -> 42 байта
p = Join[Range[2, #, 2], Range[1, #, 2]] &
Попробуйте онлайн!
Спасибо user202729 за указание на двойной потенциал оптимизации Join [] вместо Flatten [] и использование чистых функций.
Я хотел бы добавить два замечания.
1) Довольно просто построить определенную перестановку без последовательности падения или нарастания при n> = 4 в соответствии с запросом n OP.
Он состоит из двух последовательных списков.
Для четного n это:
list1 = (2,4, ..., n / 2)
list2 = (1,3, ..., n / 2-1)
Для нечетного n имеем:
list1 = (2,4, ..., Floor [n / 2])
list2 = (1,3, ..., Floor [n / 2])
Для этого «алгоритма» должно быть принято только одно решение (n четных или нечетных), а остальные просто записывают n чисел.
Возможное решение Mathematica предоставляется в верхней части.
2) С этим связан вопрос, сколько таких перестановок существует в зависимости от n.
Mathematica, 124 байта
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]
Попробуйте онлайн!
Пример:
a[#] & /@ Range[4, 12]
{2, 14, 90, 646, 5242, 47622, 479306, 5296790, 63779034}
Подсчет количества таких перестановок является стандартной задачей.
Для n = 4 есть 2: {{2,4,1,3}, {3,1,4,2}}
Для n = 5 существует 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}}
Число a (n) этих перестановок быстро возрастает: 2, 14, 90, 646, 5242, 47622, 479306, 5296790, 63779034, ...
Для больших n отношение a (n) / n! кажется, приближается к пределу 1 / e ^ 2 = 0,135335 ... У меня нет строгих доказательств, но это всего лишь предположение из численных доказательств. Вы можете проверить это, попытавшись запустить программу онлайн.
Программа выше (на основе ссылки, приведенной ниже) рассчитывает эти числа.
Вы можете найти больше информации в соответствующей последовательности на OEIS: A002464 . Проблема Герцшпрунга: способы размещения n неагрессивных королей на доске n X n, по 1 в каждом ряду и столбце. Также число перестановок длины n без последовательностей роста или падения.