n (каждое ровно один раз) так, чтобы никакое число не стояло между двумя другими, средним арифметическим которых оно является. Иначе говоря, для любых позиций i < k < j должно быть 2 · a[k] ≠ a[i] + a[j].
Таких порядков много, поэтому нужен вот этот:
- для n = 1 это [1];
- иначе сначала идут все нечётные числа, потом все чётные. Нечётные стоят в порядке, построенном для ⌈n/2⌉, где каждое x заменено на 2x − 1; чётные — в порядке для ⌊n/2⌋, где каждое x заменено на 2x.
Верните этот порядок. Подумайте, почему в нём действительно нет ни одного «среднего посередине».n=5 → [1, 5, 3, 2, 4]
Нечётные 1, 3, 5 получаются из порядка для 3 — это [1, 3, 2] — заменой x на 2x − 1: [1, 5, 3]. Чётные 2, 4 — из порядка для 2, [1, 2], заменой x на 2x: [2, 4]. Итог [1, 5, 3, 2, 4].
n=2 → [1, 2]
Сначала нечётное 1, затем чётное 2.
n=8 → [1, 5, 3, 7, 2, 6, 4, 8]
n ≤ 1000n=5
[1, 5, 3, 2, 4]
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 61 тест на сервере, включая скрытые.