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

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

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

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

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

Решение:

program u13z18;
var i,j,n,m:integer;
begin
  writeln('Vvedite chislo');
  readln(n);
  i:=1;
  j:=1;
  m:=0;
  while i<=n do
  begin
    if j=m then
    begin
      writeln();
      j:=j+1;
      m:=0;
    end
    else
    begin
      write(i,' ');
      i:=i+1;
      m:=m+1;
    end;
  end;
  readln();
end.

var i,j,n,m:integer;
begin
  writeln('Vvedite chislo');
  readln(n);
  i:=1;
  j:=1;
  m:=0;
  while i<=n do
  begin
    while j<>m do
    begin
      if i<=n then
      begin
        write(i,' ');
        m:=m+1;
        i:=i+1;
      end;
    end;
    writeln();
    j:=j+1;
    m:=0;
  end;
  readln();
end.

Консоль:

Vvedite chislo
50
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 48 49 50