Мне нужно создать прерывистую целочисленную последовательность a_1, a_2, ..., a_n
, которая удовлетворяет
{a_1, a_2, ..., a_n} ∈ [1, n]
|a_i - a_(i-1)| > 1
Как это сделать? Я ценю вам подсказку или помощь. Спасибо :)
0
Love Paper
16 Окт 2012 в 14:19
1 ответ
Лучший ответ
Когда элементов меньше 4, сделать это невозможно.
Когда имеется 4 или более элементов, мы можем построить последовательность следующим образом:
Если n четно:
[n-1, n-3, ... , 1, n, n-2, ..., 2]
Если n нечетное:
[n, n-2, ..., 1, n-1, n-3, ..., 2]
Теперь, когда n больше или равно 4, | 1-n | = | n-1 | > = 3, | 1- (n-1) | = | 1-n + 1 | = | n | > = 4, последовательность удовлетворяет ограничению.
1
Marcus
16 Окт 2012 в 14:36
Похожие вопросы
Новые вопросы
algorithm
Алгоритм - это последовательность четко определенных шагов, которые определяют абстрактное решение проблемы. Используйте этот тег, если ваша проблема связана с дизайном алгоритма.
1,3,5,...,2k-1,2,4,...,2k
(если, конечно, вы хотите random, а затем - указать это явно). Также - укажите, должна ли последовательность быть перестановкой (если нет, то также подойдет1,3,1,3,1,...
)