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