Среди пятизначных чисел вычислить среднее арифметическое чисел сумма цифр которых находится в пределах 20-30 это в паскале нужно

KsenyaKnyazeva1 KsenyaKnyazeva1    1   26.07.2019 00:20    0

Ответы
Anna69666 Anna69666  24.09.2020 18:26
// 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.

Результат:
57982.8943738243
ПОКАЗАТЬ ОТВЕТЫ
Tamalova5 Tamalova5  24.09.2020 18:26
Function Check(num : integer) : boolean;
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.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика