Урок 13.1 Задача 17
Primary tabs
Модифицируйте решение предыдущей задачи, так, чтобы длина возрастающего фрагмента каждый раз увеличивалась на единицу (начиная с двух):
8 10 3 два числа 3 10 12 14 3 три числа 3 16 18 20 22 3 четыре числа 3....3....и т.д.ПРИМЕЧАНИЕ: эту задачу можно решить, как вложенными циклами, так и вообще одним циклом (что более изящно), при этом решение одним циклом можно сделать, как используя делимость нацело (для определения момента вывода тройки), так и не используя.
Решите всеми тремя способами.
Решение:
program u13z17; var i,j,m,n: integer; begin write('vvedite chislo n - '); readln(n); m:=2; if n>=8 then begin i:=8; while i<=n do begin if j=m then begin write(3,' '); j:=0; m:=m+1; end else begin write(i,' '); i:=i+2; j:=j+1; end; end; end else writeln('ERROR'); readln(); end. var i,j,m,n:integer; begin write('vvedite chislo n - '); readln(n); m:=2; i:=8; if n<0 then writeln('ERROR') else begin while (i<=n) do begin for j:=1 to m do begin if (i<=n) then begin write(i,' '); i:=i+2; end; end; m:=m+1; write(3,' '); end; end; readln(); end. var i,j,m,n:integer; begin write('vvedite chislo n - '); readln(n); m:=2; i:=8; j:=0; if n>=8 then begin while (i<=n) do begin if (i mod 2 = 0) then write(i,' '); i:=i+2; j:=j+1; if j = m then begin write(3,' '); j:=0; m:=m+1; end; end; end else writeln('ERROR'); readln(); end.
Консоль:
vvedite chislo n - 50 8 10 3 12 14 3 16 18 20 22 3 24 26 28 30 3 32 34 36 38 40 42 3 44 46 48 50
- Log in to post comments
- 418 reads