Не уверен может не работать.....
var
a,n,sn,s,i,n1:integer;
begin
readln(n);
n1:=n;
repeat
sn:=sn+n1 mod 10;
n1:=n1 div 10;
until n1=0;
for i:=1 to n-1 do
begin
a:=i;
s:=0;
repeat
s:=s+a mod 10;
a:=a div 10;
until a=0;
if s=sn then write(i,' ');
end;
readln;
end.
Program Pryam;
var
x1,x2,x3,x4,y1,y2,y3,y4:integer; //координаты
{x1,y1 - координаты A}
{x2,y2 - координаты B}
{x3,y3 - координаты C}
{x4,y4 - координаты D}
a1,a2,b1,b2:integer;
c1,c2:real;
begin
read(x1,y1,x2,y2,x3,y3,x4,y4);
a1:=abs(y1-y2); //AB
b1:=abs(x3-x1); //BC
c1:=sqrt(a1*a1+b1*b1); //AC
a2:=abs(y4-y3); //DC
b2:=abs(x4-x1); //AD
c2:=sqrt(a2*a2+b2*b2); //BD
if c1>c2 then
write(c1)
else
write(c2);
end.