Задание:Напишите программу нахождения следующего за данным числом совершенного числа.
Вот работающий код. Объясните пожалуйста что такое 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;