Решение задачи 18 из главы 13.1

Решение задачи 18 из главы 13.1

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

Решение с вложенными циклами:

program Project18;
var a, b, c, d, f: integer;
begin
  b:=6;
  c:=1;
  f:=2;
  writeln('Vvedite zeloe polozhitelnoe chislo bolshe 8:');
  readln(a);
  if (a > 0) then
  begin
     d:=f;
     while (b < a) do
           repeat
              f:=d;
                for c:=1 to d do
                begin
                     b:=b+2;
                     if (b > a) then
                        break;
                     write(b, ' ');
                end;
              c:=c+1;
              if (c = 2) then
                 break;
              write (3, ' ');
              if (d = f) then
                 d:=d+1;
           until (c > f);
  end
  else
     writeln('Vy vveli otrizatelnoe chislo!');
  readln();
end.