Задача 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

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

Способ №1 (1 цикл)

program task1_19_lesson_13_1;
var i, n, l, c : integer;
begin
     readln(n);
     c := 0;   // счетчик к-ва чисел в строке
     l := 1;   // максимальное кол-во чисел в строке
     i := 1;   // число из последовательности ограниченное N
     while i <= n do
           begin
             write(i,' ');
             i += 1;          // увеличиваем следующее число
             c += 1;
             if (c = l) then    // проверка на кол-во чисел в строке
                begin
                  writeln();
                  l += 1;
                  c := 0;
                end;
           end;
     readln();
end.

Способ №2 (Вложенные циклы)

program task_19_lesson_13_1;
var i,j,n,c : integer;
begin
     readln(n);
     c := 0;                     // кол-во элементов в строке
     i := 1;
     j := 1;                     // максимальное кол-во элементов в строке
     while (i <= n) do
           begin
           repeat
                 write(i, ' ');
                 i := i + 1;
                 c := c + 1;         // кол-во элементов в строке растет
           until (c >= j) or (i > n);  // проверка перехода на след строку
           writeln();
           j := j + 1;               // прирост в следующей строке
           c := 0;                   // обнуляем счетчик чисел в строке
           end;
     readln();
end.
vedro-compota's picture

решение засчитано

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