// PascalABC.NET 3.1, сборка 1218 от 12.04.2016
function SodGood(n:integer):boolean;
// Попадает ли сумма цифр числа n в диапазон [20;30]?
begin
var s:=0;
while n>0 do begin
s+=(n mod 10);
n:=n div 10
end;
Result:=(s>=20) and (s<=30)<br>end;
begin
Print(Range(10000,99999).Where(n->SodGood(n)).Average)
end.
Результат:
57982.8943738243