function summ(x:longint):byte; {возвращает сумму цифр числа}
var
k,l:byte;
y:longint;
begin
y:=x;
l:=0;
while (y<>0) do
begin
k:=y mod 10;
y:=y div 10;
l:=l+k
end;
summ:=l;
end;
var
w1,w2,i,j,count:longint;
n,m:byte;
begin
count:=0;
for j:=0 to 999999 do
begin
w1:=j div 1000;
w2:=j mod 1000;
if summ(w1) = summ(w2)
then begin
count:=count+1;
writeln(j,' --> ',count);
end;
end;
end.
эта программма для Паскаля))