Задать вопрос
@uliana00

Можете помочь понять код?

Задание:Напишите программу нахождения следующего за данным числом совершенного числа.
Вот работающий код. Объясните пожалуйста что такое j и f.

res : cardinal;
procedure proc (a : integer; var x : int64);
var i, f,j : cardinal;
begin
  i := a + 1;
  res := 0;
  j := 0;
  while not(res = i) do
    begin
   { while (f < i) do
    begin
    if (i mod f = 0) then
      begin
        res := res + f;
        if (res > i) then
          break;
      end;
      inc (f);
    end;  }
    for j:=i div 2 downto 1 do
    begin0
      if (i mod j = 0) then
      begin
        res := res + j;
        if (res > i) then
          break;
      end;

    end;
    if (res = i) then Break
    else
      begin
        res := 0
      end;
    inc (i);
    end;

  x := res;
end;
  • Вопрос задан
  • 142 просмотра
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы