Решение задачи №18 из главы 13.1

Решение задачи №18 из главы 13.1

Модифицируйте решение предыдущей задачи, так, чтобы длина возрастающего фрагмента каждый раз увеличивалась на единицу (начиная с двух):
810два числа3101214три числа316182022четыре числа3....3....и т.д.
ПРИМЕЧАНИЕ: эту задачу можно решить, как вложенными циклами, так и вообще одним циклом (что более изящно), при этом решение одним циклом можно сделать, как используя делимость нацело (для определения момента вывода тройки), так и не используя.
Решите всеми тремя способами.

Распечатка консоли
Vvedite chislo ogranichitel
5
Vvedite chislo
50
8 10 3  12 14 16 3  18 20 22 24 3  26 28 30 32 34 3  36 38 40 42 44 46 3  48 50
var
i,n,j,m:integer;
begin
i:=8; // начальное значение счетчика
j:=0;// начальное значение для внутреннего счетчика
writeln('Vvedite chislo ogranichitel');
readln(m);
writeln('Vvedite chislo');
readln(n);
if n >= 0 then //внешнее условие
begin
   m:=2;// присваиваем двойку  внешнему ограничителю
   while i<=n do
       begin
       j:=j+1; // запускаем внутренний счетчик
       if(j > m) then
         begin
           m:=m+1;
           write(3, '  ');
           j:=0; //обнуляем внутренний счетчик
         end
       else
          begin
             write(i, ' ');
             i:=i+2; // изменяем значение счетчика
          end
        end
end
else
    writeln('oshibka');//если введеное значение отрицательное или равно нулю
readln();
end.             
vedro-compota's picture

writeln('Vvedite chislo ogranichitel');
readln(m);

-- не нужно

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

vedro-compota's picture

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

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