Урок 13.1. Задача 17.
Primary tabs
Модифицируйте решение предыдущей задачи, так, чтобы длина возрастающего фрагмента каждый раз увеличивалась на единицу (начиная с двух):
8 10 3 10 12 14 3 16 18 20 22 3....3....и т.д.
ПРИМЕЧАНИЕ: эту задачу можно решить, как вложенными циклами, так и вообще одним циклом (что более изящно), при этом решение одним циклом можно сделать, как используя делимость нацело (для определения момента вывода тройки), так и не используя.
#1 var N, a, b, c, i : integer; begin write('Enter an integer 7+ : '); readln(N); a := 8; b := 8; c := 2; if N < 8 then writeln('Error') else while (a < N) do begin a := a + 3; for i := 1 to c do begin if (b <= N) then write(b, ' '); b := b + 2; end; if b <= N then write(3, ' '); c := c + 1; end; readln(); end. #2 var N, a, b, c, i : integer; begin write('Enter an integer 7+ : '); readln(N); a := 8; b := 0; c := 2; if N < 8 then writeln('Error') else for i := a to N do begin if (i mod 2 = 0) then begin b := b + 1; write(i, ' '); end else if (b = c) then begin c := c + 1; b := 0; write(3,' '); end; end; readln(); end.
- Log in to post comments
- 253 reads