Напишите программу, которая в последовательности натуральных чисел находит среднее арифметическое чисел, кратных 8, или сообщает, что таких чисел нет (выводит «NO»). Программа получает на вход натуральные числа, количество введенных чисел неизвестно, последовательность чисел заканчивается числом 0 (0 — признак окончания ввода, не входит в последовательность).
Количество чисел не превышает 100. Введенные числа не превышают 300. Программа должна вывести среднее арифметическое чисел, кратных 8, или вывести «NO», если таких чисел нет. Значение выводить с точностью до десятых.
Пример работы программы:
| Входные данные | Выходные данные |
8 122 64 16 0 | 29.3 |
111 1 0 | NO |
Решением является программа, записанная на любом языке программирования. Пример верного решения, записанного на языке Паскаль:
var a, s, n: integer;
begin
s:=0;
n:=0;
readln(a);
while a<>0 do begin
if (a mod 8 = 0) then
begin
s := s + a;
n := n + 1;
end;
readln(a);
end;
if n > 0 then writeln(s/n :5:1)
else writeln(’NO’);
end.
Приведем другое решение на языке Python.
s = 0
n = 0
a = 1
while a != 0:
a = int(input())
if a == 0:
break
if a % 8 == 0:
s += a
n += 1
if n > 0:
num = s/n
print(round(num, 1))
else:
print('NO')
Возможны и другие варианты решения. Для проверки правильности работы программы необходимо использовать
следующие тесты:
| № | Входные данные | Выходные данные |
| 1 | 2 222 0 | NO |
| 2 | 16 0 | 16.0 |
| 3 | 16 32 64 8 8 5 0 | 25.6 |



