Как сделать через операторы цикла с предусловием и постусловием - PascalABC.NET

Узнай цену своей работы

Формулировка задачи:

Решение задачи: «Как сделать через операторы цикла с предусловием и постусловием»

textual
Листинг программы
i:=2;
while i<=n do
 begin
  s:=0;
  j:=1;
  while j<=i div 2 do
   begin
    if i mod j=0 then s:=s+j;
    j:=j+1;
   end;
  if s=i then write(i,' ');
  i:=i+1;
 end;
writeln;
i:=2;
repeat
s:=0;
j:=1;
repeat
if i mod j=0 then s:=s+j;
j:=j+1;
until j>i div 2;
if s=i then write(i,' ');
i:=i+1;
until i>n;

Объяснение кода листинга программы

В этом коде используется два вложенных цикла. Внешний цикл имеет условием i <= n и после каждой итерации значение i увеличивается на 1. Внутренний цикл имеет условием j <= i div 2, которое ограничивает значение j значением i, делённым на 2. Пока внутренний цикл выполняется, проверяется, делится ли i на j без остатка. Если да, то к переменной s прибавляется значение j. Когда внутренний цикл завершается, проверяется, равно ли значение s значению i. Если да, то с помощью функции write выводится значение i. После завершения внешнего цикла выводится символ «» (возможно, в коде перед этим стоит какой-то оператор, который должен быть выполнен перед выводом). Аналогично выполняется второй вложенный цикл, который начинается после завершения первого.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.5 из 5
Похожие ответы