Задача 17 урок 13.1
Primary tabs
Модифицируйте решение предыдущей задачи, так, чтобы длина возрастающего фрагмента каждый раз увеличивалась на единицу (начиная с двух)
ПРИМЕЧАНИЕ: эту задачу можно решить, как вложенными циклами, так и вообще одним циклом (что более изящно), при этом решение одним циклом можно сделать, как используя делимость нацело (для определения момента вывода тройки), так и не используя.
Решите всеми тремя способами.
Решение одним циклом, без использования делимости нацело
program zadacha17; var i, j, n, m: integer; begin writeln('Vvedite chislo N:'); readln(n); i := 8; j:=0; m:=2; if (n >= 8) and (n > 0) then while i <= n do begin write(i,' '); i := i + 2; j:=j+1; if j = m then begin write('3 '); j:=0; m:=m+1; end; end else writeln('Chislo ne sootvetstvyet kriteriyam'); readln(); end.
В один цикл, с проверкой mod
program zadacha17; var i, j, n, m: integer; begin writeln('Vvedite chislo N:'); readln(n); i := 8; j:=0; m:=4; if (n >= 8) and (n > 0) then while i <= n do begin if i mod 2 = 0 then write(i,' '); i := i + 1; j:=j+1; if j = m then begin write('3 '); j:=0; m:=m+2; end; end else writeln('Chislo ne sootvetstvyet kriteriyam'); readln(); end.
Вложенными циклами:
program zadacha17; var i, j, n, m: integer; begin writeln('Vvedite chislo N:'); readln(n); i := 8; m := 4; if (n >= 8) and (n > 0) then while i<=n do begin j:=1; while j <= m do begin if (i mod 2 = 0) and (i<=n) then write(i,' '); i:=i+1; j:=j+1; end; m := m+2; if i <= n then write('*3* '); end else writeln('Chislo ne sootvetstvyet kriteriyam'); readln(); end.
- Log in to post comments
- 1150 reads
vedro-compota
Sun, 11/21/2021 - 13:52
Permalink
исправить форматирование
исправить форматирование
_____________
матфак вгу и остальная классика =)