Задание: Напишите программу нахождения следующего за данным числом совершенного числа.
Помогите понять в чем проблема, в ответе выдает 0. Возможно надо ввести ограничение до определенного совершенного числа.
program Project2;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
res : cardinal;
n:integer;
procedure proc(a: integer; var x : int64);
var i, j : cardinal;
begin
i := n + 1;
res := 0;
j := 0;
while not(res = i) do
begin
for j:=i div 2 downto 1 do
begin
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;
begin
write('vvedite chislo ');
read(n);
writeln('sled. za dannum chislom sovershennoe chislo ',res);
readln;
readln ;
end.