Решение: Подсчёт кратных чисел
Напишите программу, которая в последовательности целых чисел определяет количество чисел, кратных 4 или 9. Программа получает на вход целые числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 — признак окончания ввода, не входит в последовательность).
Количество чисел не превышает 1000. Введённые числа по модулю не превышают 30 000.
Программа должна вывести одно число: количество чисел, кратных 4 или 9.
Пример работы программы:
Входные данные: 36, 91, 40, 0.
Выходные данные: 2.
Решение по шагам
4 шагаСоздадим счётчик чисел, удовлетворяющих условию, и будем считывать числа до появления нуля.
$$count = 0$$Если введено 0, последовательность закончена. Иначе проверяем, делится ли число на 4 или на 9 без остатка.
$$x \bmod 4 = 0 \;\text{или}\; x \bmod 9 = 0$$При выполнении хотя бы одного из условий увеличиваем счётчик. После окончания ввода выводим его значение.
$$count = count + 1$$Один из возможных вариантов программы на Python:
$$x = int(input()) count = 0 while x != 0: if x % 4 == 0 or x % 9 == 0: count += 1 x = int(input()) print(count)$$Программа должна считать числа до 0, увеличить счётчик при делимости числа на 4 или 9 и вывести этот счётчик.
Этот ответ получен в разборе, но не сверен с официальным ключом из банка — проверьте выкладки, прежде чем заучивать результат.
Где здесь ошибаются
Включают число 0 в подсчёт.
Используют условие and вместо or.
Проверяют делимость на 4 и 9 одновременно, хотя достаточно делимости хотя бы на одно из этих чисел.
Забывают считать очередное число после завершения обработки предыдущего.