Задача 18 Урок 13.1
Primary tabs
Задача 18 Урок 13.1Модифицируйте решение предыдущей задачи, так, чтобы длина возрастающего фрагмента каждый раз увеличивалась на единицу.
ПРИМЕЧАНИЕ: эту задачу можно решить, как вложенными циклами, так и вообще одним циклом (что более изящно), при этом решение одним циклом можно сделать, как используя делимость нацело (для определения момента вывода тройки), так и не используя.
Решите всеми тремя способами.
Вариант 1
var a, i, j: integer; l: integer; //ожидаемая длинна строки begin a:= 50;//пользовательское число l:= 1; if a > 0 then begin i:= 8; while i <= a do begin for j:= 0 to l do begin write(i, ' '); i:= i + 2; end; l:= l + 1; write(3, ' '); end; end else write('Oschibka. Vvedite pologitelnoe chislo'); readln(); end.
Вариант 2
var i, l, inc: integer; a: integer; begin writeln('Vvedite celoe pologitelnoe chislo'); readln(a); i:= 8; inc:= 2; if (a > 0) then begin while (i <= a) do begin if l <> inc then begin write(i, ' '); i:= i + 2; l:= l + 1; end else begin write (3, ' '); inc:= inc + 1; l:= 0; end; end; end else writeln('Oschibka'); readln(); end.
- Log in to post comments
- 736 reads