Установил максимальное количество баллов! (100) Напишите программу, которая в...

+493 голосов
3.6m просмотров

Установил максимальное количество баллов! (100) Напишите программу, которая в последовательности натуральных чисел определяет среднее значение между минимальным и максимальным для чисел кратных 5. Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 – признак окончания ввода последовательности, и в последовательность не входит). Введённые числа не превышают 30 000.Программа должна вывести одно число: среднее значение между минимальным и максимальным для чисел кратных 5 или вывести NO, если таких чисел в последовательности нет.


Информатика (40 баллов) | 3.6m просмотров
Дано ответов: 2
+190 голосов

Ответ:

Pascal?

var min, max, j, count: integer;

begin

min:=30000;

max:=0;

readln(j);

while j <> 0 do begin

if (j mod 5 = 0) and (j < min) then begin

min:= j;

count:= count + 1;

end;

if (j mod 5 = 0) and (j > max) then begin

max:= j;

count:= count + 1;

end;

readln(j);

end;

if count = 0 then write('NO') else write((min+max)/2);

end.

(1.2k баллов)
+43 голосов

                                 PascalABC.NET                                  

  • begin
  • var L := Lst(ReadArrInteger(1));
  • while L.Last <> 0 do
  • L.Add(ReadlnInteger);
  • L.RemoveAt(L.Count - 1);
  • if (L.Min..L.Max).Count(x -> x mod 5 = 0) <> 0 then
  • Println((L.Min..L.Max).Where(x -> x mod 5 = 0).Average)
  • else Println('NO');
  • end.

Используется лишь одна переменная - список L.

Пример работоспособности:


image
image
(3.7k баллов)