Шешімі: Среднее кратных четырём
Напишите программу, которая в последовательности натуральных чисел находит среднее арифметическое чисел, кратных 4, или сообщает, что таких чисел нет, выводя NO. Программа получает на вход натуральные числа, количество введённых чисел неизвестно; последовательность заканчивается числом 0, который является признаком окончания ввода и не входит в последовательность. Количество чисел не превышает 100, введённые числа не превышают 300. Программа должна вывести среднее арифметическое чисел, кратных 4, или вывести NO, если таких чисел нет.
| Входные данные | Выходные данные |
|---|---|
| 8 120 64 16 0 | 52.0 |
| 111 1 0 | NO |
Шешім по шагам
5 қадамВведём переменные для суммы чисел, кратных 4, и их количества.
$$s = 0,\quad k = 0$$Считываем очередное число. Если оно равно нулю, ввод заканчивается. Иначе проверяем его делимость на 4.
$$n \bmod 4 = 0$$Для каждого подходящего числа прибавляем его к сумме и увеличиваем количество найденных чисел на единицу.
Если подходящих чисел нет, выводим NO. В противном случае выводим среднее арифметическое.
$$\overline{x} = \dfrac{s}{k}$$Один из возможных нұсқа программы:
$$s = 0\nk = 0\nn = int(input())\nwhile n != 0:\n if n % 4 == 0:\n s += n\n k += 1\n n = int(input())\nif k == 0:\n print('NO')\nelse:\n print(s / k)$$s = 0
k = 0
n = int(input())
while n != 0:
if n % 4 == 0:
s += n
k += 1
n = int(input())
if k == 0:
print('NO')
else:
print(s / k)
Бұл жауап талдау нәтижесінде алынды, бірақ банктің ресми кілтімен тексерілген жоқ — проверьте выкладки, прежде чем заучивать результат.
Где здесь ошибаются
Включают число 0 в последовательность или проверяют его на кратность 4.
Делят сумму на общее количество введённых чисел, а не на количество чисел, кратных 4.
Не предусматривают случай отсутствия чисел, кратных 4.
Используют условие n / 4 == 0 вместо проверки остатка n % 4 == 0.