Задача 19 урок 13.1

Задача 19 урок 13.1

Пользователь передает целое положительное число N, выведете на экран последовательность от 1 до N "ёлочкой", например для N=18:

1
2 3
4 5 6
7 8 9 10
11 12 13 14 15
16 17 18

Вариант с вложенным циклом:

var N, i, f, m: integer;
begin
  f := 0; //счетчик символов в строке
  m := 1; //необходимость символов в строке
  i := 1;
  writeln('Vvedite N > 0');
  readln(N);
    while (i <= N) do
      begin
        while (f <= m) do
          begin
            write(i, ' ');
            f := f + 1;
            i := i + 1;
          end;
        writeln();
        m := m + 1;
        f := 0;
      end;
  readln();
end. 

Вариант в один цикл

var N, i, a, b: integer;
begin
  a := 1; //необходимое кол-во N в строке
  b := 0; //счетчик N в строке
  i := 1; //основной ряд N
  writeln('Vvedite N > 0');
  readln(N);
    while (i <= N) do
      begin
        if (b <= a) then
          begin
            write(i, ' ');
            b := b + 1;
          end;
        if (b = a)then
          begin
            a := a + 1;
            b := 0;
            writeln();
          end;
        i := i + 1;
      end;
  readln();
end.