Задача 17 Урок 13.1
Primary tabs
Модифицируйте решение предыдущей задачи, так, чтобы длина возрастающего фрагмента каждый раз увеличивалась на единицу (начиная с двух). ПРИМЕЧАНИЕ: эту задачу можно решить, как вложенными циклами, так и вообще одним циклом (что более изящно), при этом решение одним циклом можно сделать, как используя делимость нацело (для определения момента вывода тройки), так и не используя.
Решите всеми тремя способами.
var n,m,i,j:integer; begin writeln('Vvedite celoe chislo: '); readln(n); m:=2; i:=6; j:=0; writeln('Sposob 1'); if((n>0)and(n>=8))then while (i<n) do begin for j:=1 to m do begin i:=i+2; if (i<=n) then write(i,' '); end; m:=m+1; if (i<n) then write(3,' '); end else writeln('Oshibka! Chislo ne sootvetstvuet usloviam!'); writeln(); writeln('Sposob 2'); if((n>0)and(n>=8))then begin m:=2; i:=6; j:=0; repeat i:=i+2; write(i,' '); j:=j+1; if(j=m)then begin m:=m+1; j:=0; write(3,' '); end; until (i>=n); end else writeln('Oshibka! Chislo ne sootvetstvuet usloviam!'); writeln(); writeln('Sposob 3'); if((n>0)and(n>=8))then begin m:=2; i:=6; j:=0; while (i<n) do begin i:=i+2; write(i,' '); j:=j+1; if(j mod m=0)then begin m:=m+1; j:=0; write(3,' '); end; end; end else writeln('Oshibka! Chislo ne sootvetstvuet usloviam!'); end.
Консоль:
Vvedite celoe chislo: 30 Sposob 1 8 10 3 12 14 16 3 18 20 22 24 3 26 28 30 Sposob 2 8 10 3 12 14 16 3 18 20 22 24 3 26 28 30 Sposob 3 8 10 3 12 14 16 3 18 20 22 24 3 26 28 30
- Log in to post comments
- 337 reads