Задача 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
- 1112 reads
vedro-compota
Sun, 01/09/2022 - 13:24
Permalink
засчитано
засчитано
_____________
матфак вгу и остальная классика =)