Дана последовательность натуральных чисел 1, 2, 3, ..., N (1

Дана последовательность естественных чисел 1, 2, 3, ..., N (1 N 1000). Нужно поначалу расположить в оборотном порядке часть этой последовательности от элемента с номером A до элемента с номером B, а затем от C до D (A lt; B; C lt; D; 1 A, B, C, D N).

Входные данные
Вводятся естественные числа числа N, A, B, C, D.

Выходные данные
Нужно вывести полученную последовательность.

Примеры
входные данные
9 2 5 6 9
выходные данные
1 5 4 3 2 9 8 7 6
входные данные
9 3 6 5 8
выходные данные
1 2 6 5 8 7 3 4 9
Сделать на PascalABC


Задать свой вопрос
1 ответ

PascalABC.NET 3.4.2, сборка 1863 от 10.11.2018

Внимание! Если программа не работает, обновите версию!

begin

 var N, A, B, C, D: integer;

 Readln(N, A, B, C, D);

 if A gt; C then (A, B, C, D) := (C, D, B, A);

 var s := 1.To(A - 1);

 if B lt; C then // ( ) [ ]

   s := s + B.Downto(A) + (B + 1).To(C - 1) +

       D.Downto(C) + (D + 1).To(N)

 else

 if D lt; B then // ( [ ] )

 begin

   s := s + SeqGen(C - A, t -gt; B - t) +

       SeqGen(D - C + 1, t -gt; t + A + B - D) +

       SeqGen(B - D, t -gt; A - t + B - D - 1) + (B + 1).To(N)

 end

   else // ( [ ) ]

 begin

   s := s + SeqGen(C - A, t -gt; B - t) +

       SeqGen(D - B, t -gt; D - t) + SeqGen(B - C + 1, t -gt; A + t) +

       (D + 1).To(N);

 end;

 s.Println;

end.

, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт