Задача 18 Урок 13.1
Primary tabs
Задача 18 Урок 13.1Модифицируйте решение предыдущей задачи, так, чтобы длина возрастающего фрагмента каждый раз увеличивалась на единицу.
ПРИМЕЧАНИЕ: эту задачу можно решить, как вложенными циклами, так и вообще одним циклом (что более изящно), при этом решение одним циклом можно сделать, как используя делимость нацело (для определения момента вывода тройки), так и не используя.
Решите всеми тремя способами.
Вариант 1
var
a, i, j: integer;
l: integer; //ожидаемая длинна строки
begin
a:= 50;//пользовательское число
l:= 1;
if a > 0 then
begin
i:= 8;
while i <= a do
begin
for j:= 0 to l do
begin
write(i, ' ');
i:= i + 2;
end;
l:= l + 1;
write(3, ' ');
end;
end
else
write('Oschibka. Vvedite pologitelnoe chislo');
readln();
end. Вариант 2
var
i, l, inc: integer;
a: integer;
begin
writeln('Vvedite celoe pologitelnoe chislo');
readln(a);
i:= 8;
inc:= 2;
if (a > 0) then
begin
while (i <= a) do
begin
if l <> inc then
begin
write(i, ' ');
i:= i + 2;
l:= l + 1;
end
else
begin
write (3, ' ');
inc:= inc + 1;
l:= 0;
end;
end;
end
else
writeln('Oschibka');
readln();
end.- Log in to post comments
- 1113 reads