Задача 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
- 1550 reads
vedro-compota
Sun, 11/21/2021 - 13:52
Permalink
исправить форматирование
исправить форматирование
_____________
матфак вгу и остальная классика =)