Урок 13.1 Задача 21

Урок 13.1 Задача 21:

Модифицируйте предыдущий вывод "ёлочкой" так, чтобы в каждой нечетной строке выводились только четные числа, а в каждой четной только нечетные, например для N=17:

3
4 6
7 9
12 14
17
var
a, i, j, n :integer;
begin
  j:=1;                                     // ограничитель числел в строке, начинаем с 1. Он же - счетчик строк
  write('Введите число N: ');               // просим ввести максимальное число
  readln(n);                                // считываем максимальное число
  for a:=1 to n do                          // счетчик со сплошной нумерацией от 1 до максимального числа
  begin
    i:=i+1;                                 // увеличиваем счетчик чисел в строке на 1
    if (j mod 2 = 1) and (a mod 2 = 0) or   // условие, чтобы при нечетном счетчике строк были четные числа сплошного счетчика
       (j mod 2 = 0) and (a mod 2 = 1)then  // при четном - нечетные
    write(a, ' ');                          // выводим значения сплошного счетчика согласно условию
    if (i=j) then
    begin                                   // если счетчик чисел сравнялся с ограничителем чисел
      writeln ();                           // переходим на новую строку
      j:=j+1;                               // увеличиваем ограничитель (счетчик строк) на 1
      i:=0;                                 // обнуляем счетчик чисел в строке
    end;
  end;
  readln();
end.    

Вывод в консоли:

Введите число N: 57
3
4 6
7 9
12 14
17 19 21
22 24 26 28
29 31 33 35
38 40 42 44
47 49 51 53 55
56