Задача 18 Урок 13.1
Primary tabs
Модифицируйте решение предыдущей задачи, так, чтобы длина возрастающего фрагмента каждый раз увеличивалась на единицу (начиная с двух):
ПРИМЕЧАНИЕ: эту задачу можно решить, как вложенными циклами, так и вообще одним циклом (что более изящно), при этом решение одним циклом можно сделать, как используя делимость нацело (для определения момента вывода тройки), так и не используя.
Решите всеми тремя способами.
Одним циклом:
var N, M, c, i: integer; begin writeln('Введите целое число N > 7:'); readln(N); M := 2; if N > 7 then begin i := 8; while i <= N do begin if c < M then begin write(i, ' '); i += 2; c += 1; end else begin write('3 '); c := 0; M += 1; end; end; end else writeln('Ошибка'); readln(); end.
Одним циклом с делимостью нацело:
var N, M, c, i: integer; begin writeln('Введите целое число N > 7:'); readln(N); M := 2; if N > 7 then begin i := 8; while i <= N do begin if c div M = 0 then begin write(i, ' '); i += 2; c += 1; end else begin write('3 '); c := 0; M += 1; end; end; end else writeln('Ошибка'); readln(); end.
Вложенными циклами:
var N, M, c, i: integer; begin writeln('Введите целое число N > 7:'); readln(N); M := 2; if N > 7 then begin i := 8; while i <= N do begin while c < M do begin write(i, ' '); i += 2; c += 1; end; write('3 '); c := 0; M += 1; end; end else writeln('Ошибка'); readln(); end.
- Log in to post comments
- 965 reads