Задача 18 Урок 13.1
Primary tabs
Модифицируйте решение предыдущей задачи, так, чтобы длина возрастающего фрагмента каждый раз увеличивалась на единицу (начиная с двух):
ПРИМЕЧАНИЕ: эту задачу можно решить, как вложенными циклами, так и вообще одним циклом (что более изящно), при этом решение одним циклом можно сделать, как используя делимость нацело (для определения момента вывода тройки), так и не используя.
Решите всеми тремя способами.
Одним циклом:
var N, M, c, i: integer;
begin
writeln('Введите целое число N > 7:');
readln(N);
M := 2;
if N > 7 then
begin
i := 8;
while i <= N do
begin
if c < M then
begin
write(i, ' ');
i += 2;
c += 1;
end
else
begin
write('3 ');
c := 0;
M += 1;
end;
end;
end
else writeln('Ошибка');
readln();
end.Одним циклом с делимостью нацело:
var N, M, c, i: integer;
begin
writeln('Введите целое число N > 7:');
readln(N);
M := 2;
if N > 7 then
begin
i := 8;
while i <= N do
begin
if c div M = 0 then
begin
write(i, ' ');
i += 2;
c += 1;
end
else
begin
write('3 ');
c := 0;
M += 1;
end;
end;
end
else writeln('Ошибка');
readln();
end.Вложенными циклами:
var N, M, c, i: integer;
begin
writeln('Введите целое число N > 7:');
readln(N);
M := 2;
if N > 7 then
begin
i := 8;
while i <= N do
begin
while c < M do
begin
write(i, ' ');
i += 2;
c += 1;
end;
write('3 ');
c := 0;
M += 1;
end;
end
else writeln('Ошибка');
readln();
end.- Log in to post comments
- 1192 reads