Решение: Подсчёт чисел по условию
Напишите программу, которая в последовательности натуральных чисел определяет количество чисел, кратных 6 и оканчивающихся на 2. Программа получает на вход количество чисел в последовательности, а затем сами числа.
Количество чисел не превышает 1000. Введённые числа по модулю не превышают 30 000.
Программа должна вывести одно число: количество чисел, кратных 6 и оканчивающихся на 2.
Пример работы программы:
Входные данные:
3
12
25
42
Выходные данные:
2
Решение по шагам
5 шаговСчитываем количество чисел и создаём счётчик подходящих чисел.
$$n = int(input())$$Для каждого числа проверяем, делится ли оно на 6 без остатка и оканчивается ли цифрой 2.
$$x \% 6 == 0 \land x \% 10 == 2$$Если оба условия выполняются, увеличиваем счётчик на единицу.
$$count = count + 1$$После обработки всей последовательности выводим значение счётчика.
Один из корректных вариантов программы:
$$n = int(input()) count = 0 for _ in range(n): x = int(input()) if x % 6 == 0 and x % 10 == 2: count += 1 print(count)$$n = int(input())
count = 0
for _ in range(n):
x = int(input())
if x % 6 == 0 and x % 10 == 2:
count += 1
print(count)
Этот ответ получен в разборе, но не сверен с официальным ключом из банка — проверьте выкладки, прежде чем заучивать результат.
Где здесь ошибаются
Проверяют только делимость на 6 и забывают условие об окончании числа на 2.
Используют `or` вместо `and`, из-за чего засчитываются числа, удовлетворяющие только одному условию.
Выводят количество чисел, не обработав всю последовательность.
Проверяют последнюю цифру с помощью деления, а не остатка от деления на 10.