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

Вложенные циклы

{13.1 — 22 Пользователь передает целые положительные число N,
выведете на экран последовательность от 1 до N,
так чтобы ширина "ёлочки" росла волнами.
}

var n,m,i,symbol,lenght,branch_max: integer;
  branch_rise: boolean;
begin
  lenght:=1;
  branch_max:=2;
  writeln('wanna see tree? (write num)');
  readln(n);
  for i:=1 to n do
    begin
      write(i, ' ');
      symbol:=symbol+1;
      if (symbol=lenght) then
        begin
          if (lenght = branch_max) then
            branch_rise:=false;
          if (lenght = 1) then
            begin
              branch_rise:=true;
              branch_max:=branch_max+1;
            end;
          if (branch_rise) then
            lenght:=lenght+1
          else
            lenght:=lenght-1;
          writeln();
          symbol:=0;
        end;
    end;
  writeln('...');
  readln();
end.
//wanna see tree? (write num)
//47
//1
//2 3
//4 5 6
//7 8
//9
//10 11
//12 13 14
//15 16 17 18
//19 20 21
//22 23
//24
//25 26
//27 28 29
//30 31 32 33
//34 35 36 37 38
//39 40 41 42
//43 44 45
//46 47
//...
vedro-compota's picture

 if (lenght = branch_max) then
            branch_rise:=false;
          if (lenght = 1) then

-- неоптимально, второй проверки в некотором случае можно избежать

_____________
матфак вгу и остальная классика =)