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

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

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

var i, j, M, N: integer;
  begin
    i:=8;
    readln(M);
    N:=3;
    if (M<8) then
      writeln('Errror')
    else
      repeat
          for j:=1 to N do
            begin
              if (i>M) then
                break;
              if j=N then
                write(3,' ')
              else
                begin
                  write(i,' ');
                  i:=i+2;
                end;
            end;
          N:=N+1;
         until i>M;
    readln();
  end.
Одним циклом:
var i, j, M, N: integer;
  begin
    j:=1;
    i:=8;
    readln(M);
    N:=2;
    if (M<8) then
      writeln('Errror')
    else
      repeat
        write(i,' ');
        i:=i+2;
        if (i>M) then
          break;
        if (j=N) then
          begin
            write(3,' ');
            j:=0;
            N:=N+1;
          end;
        j:=j+1;
      until i>M;
    readln();
  end.
Одним циклом с MOD
var i, j, M, N: integer;
  begin
    j:=1;
    i:=8;
    readln(M);
    N:=2;
    if (M<8) then
      writeln('Errror')
    else
      repeat
        write(i,' ');
        i:=i+2;
        if (i>M) then
          break;
        if ((j  mod N)=0) then
          begin
            write(3,' ');
            j:=0;
            N:=N+1;
          end;
        j:=j+1;
      until i>M;
    readln();
  end.