Задача 17 Урок 13.1
Primary tabs
Задача 17 Урок 13.1
Модифицируйте решение предыдущей задачи, так, чтобы длина возрастающего фрагмента каждый раз увеличивалась на единицу (начиная с двух):
8 10 два числа 3 10 12 14 три числа 3 16 18 20 22 четыре числа 3....3....и т.д.
ПРИМЕЧАНИЕ: эту задачу можно решить, как вложенными циклами, так и вообще одним циклом (что более изящно), при этом решение одним циклом можно сделать, как используя делимость нацело (для определения момента вывода тройки), так и не используя.
Решите всеми тремя способами.
вложенными циклами
var n, d, m, i : integer; begin d := 8; m := 2; writeln('vvedite chislo'); readln(n); if n < 8 then writeln('oshibka') else repeat for i := 1 to m do begin if d > n then break; write(d,' '); d := d + 2; end; write(3,' '); m := m +1; until d > n ; readln(); end.
одним циклом используя делимость нацело
var n, d, m, i : integer; begin d := 8; m := 1; i := 2; writeln('vvedite chislo'); readln(n); if n < 8 then writeln('oshibka') else repeat if d > n then break; write(d,' '); d := d + 2; if (m div i = 1) then begin write(3,' '); i := i + 1; m := 1; end else m := m + 1; until d > n ; readln(); end.
одним циклом не используя делимость нацело
var n, d, m, i : integer; begin d := 8; m := 1; i := 2; writeln('vvedite chislo'); readln(n); if n < 8 then writeln('oshibka') else repeat if d > n then break; write(d,' '); d := d + 2; if m = i then begin write(3,' '); i := i + 1; m := 1; end else m := m + 1; until d > n ; readln(); end.
- Log in to post comments
- 781 reads
vedro-compota
Sun, 01/09/2022 - 13:24
Permalink
засчитано
засчитано
_____________
матфак вгу и остальная классика =)