// 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) end;
begin Print(Range(10000,99999).Where(n->SodGood(n)).Average) end.
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)
end;
begin
Print(Range(10000,99999).Where(n->SodGood(n)).Average)
end.
Результат:
57982.8943738243
var
sum : integer;
begin
while num > 0 do
begin
sum := sum + num mod 10;
num := num div 10;
end;
Result := (sum >= 20) and (sum <= 30);
end;
var
i, len : integer;
sum : real;
begin
sum := 0;
len := 0;
for i := 10000 to 99999 do
begin
if Check (i) then
begin
len := len + 1;
sum := sum + i;
end;
end;
writeln('Среднее арифметическое: ', sum / len);
end.