Решение: Подсчёт кратных пяти или семи
Напишите программу, которая в последовательности целых чисел определяет количество чисел, кратных 5 или 7. Программа получает на вход целые числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 — признак окончания ввода, не входит в последовательность).
Количество чисел не превышает 1000. Введённые числа по модулю не превышают 30 000.
Программа должна вывести одно число: количество чисел, кратных 5 или 7.
Решение по шагам
5 шаговВведём счётчик чисел, удовлетворяющих условию.
$$count = 0$$Будем последовательно считывать числа до появления нуля. Нулевое значение является только признаком окончания ввода и не проверяется на кратность.
$$while\ n \ne 0$$Для каждого ненулевого числа проверим, делится ли оно на 5 или на 7 без остатка. Если хотя бы одно условие истинно, увеличим счётчик.
$$n \bmod 5 = 0 \;\lor\; n \bmod 7 = 0$$После завершения цикла выведем значение счётчика.
$$print(count)$$Один из возможных вариантов программы на Python:
$$count = 0\nwhile True:\n n = int(input())\n if n == 0:\n break\n if n % 5 == 0 or n % 7 == 0:\n count += 1\nprint(count)$$Программа должна считывать числа до нуля, считать числа, делящиеся без остатка на 5 или на 7, и вывести полученное количество.
Этот ответ получен в разборе, но не сверен с официальным ключом из банка — проверьте выкладки, прежде чем заучивать результат.
Где здесь ошибаются
Учитывают число 0 как элемент последовательности.
Используют условие and вместо or.
Проверяют только делимость на 5 или только делимость на 7.
Забывают увеличить счётчик при выполнении условия.
Выводят сами подходящие числа вместо их количества.