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

Модифицируйте решение предыдущей задачи, так, чтобы длина возрастающего фрагмента каждый раз увеличивалась на единицу (начиная с двух). ПРИМЕЧАНИЕ: эту задачу можно решить, как вложенными циклами, так и вообще одним циклом (что более изящно), при этом решение одним циклом можно сделать, как используя делимость нацело (для определения момента вывода тройки), так и не используя.
Решите всеми тремя способами.

var n,m,i,j:integer;
begin
  writeln('Vvedite celoe chislo: ');
  readln(n);
  m:=2;
  i:=6;
  j:=0;
  writeln('Sposob 1');
  if((n>0)and(n>=8))then
    while (i<n) do
      begin
      for j:=1 to m do
        begin
          i:=i+2;
          if (i<=n) then write(i,' ');
        end;
      m:=m+1;
      if (i<n) then write(3,' ');
      end
  else
  writeln('Oshibka! Chislo ne sootvetstvuet usloviam!');
  writeln();
  writeln('Sposob 2');
  if((n>0)and(n>=8))then
    begin
    m:=2;
    i:=6;
    j:=0;
    repeat
      i:=i+2;
      write(i,' ');
      j:=j+1;
      if(j=m)then
        begin
          m:=m+1;
          j:=0;
          write(3,' ');
        end;
    until (i>=n);
    end else
  writeln('Oshibka! Chislo ne sootvetstvuet usloviam!');
  writeln();
  writeln('Sposob 3');
  if((n>0)and(n>=8))then
    begin
      m:=2;
      i:=6;
      j:=0;
      while (i<n) do
        begin
          i:=i+2;
          write(i,' ');
          j:=j+1;
          if(j mod m=0)then
            begin
              m:=m+1;
              j:=0;
              write(3,' ');
            end;
         end;
      end else
    writeln('Oshibka! Chislo ne sootvetstvuet usloviam!');
end. 

Консоль:

Vvedite celoe chislo: 
30

Sposob 1
8 10 3 12 14 16 3 18 20 22 24 3 26 28 30 
Sposob 2
8 10 3 12 14 16 3 18 20 22 24 3 26 28 30 
Sposob 3
8 10 3 12 14 16 3 18 20 22 24 3 26 28 30