Решение
🔹 Шаг 1. Цифры девятеричной системы
from itertools import product
digits = "012345678"
📌 Результат: цифры 0–8 — алфавит девятеричной системы
🔹 Шаг 2. Запрещённые пары с цифрой 2
from itertools import product
digits = "012345678"
bad = ["12", "32", "52", "72", "21", "23", "25", "27"]
📌 Результат: нечётная цифра рядом с 2 — такие пары в числе запрещены
🔹 Шаг 3. Счётчик подходящих чисел
from itertools import product
digits = "012345678"
bad = ["12", "32", "52", "72", "21", "23", "25", "27"]
count = 0
📌 Результат: в count будем копить количество подходящих чисел
🔹 Шаг 4. Фильтр по условию
from itertools import product
digits = "012345678"
bad = ["12", "32", "52", "72", "21", "23", "25", "27"]
count = 0
for p in product(digits, repeat=5):
s = "".join(p)
if s[0] != "0" and s.count("3") == 2 and all(pair not in s for pair in bad):
count += 1
📌 Результат: нет ведущего нуля, ровно две цифры 3, нет пар из bad
🔹 Шаг 5. Ответ
Цель: посчитать подходящие пятизначные числа.
# Подключаем product и цифры девятеричной системы
from itertools import product
digits = "012345678"
# запрещённые пары: нечётная цифра рядом с 2
bad = ["12", "32", "52", "72", "21", "23", "25", "27"]
# переменная для подсчёта подходящих чисел
count = 0
# Перебираем пятизначные числа и проверяем условие
for p in product(digits, repeat=5):
s = "".join(p)
if s[0] != "0" and s.count("3") == 2 and all(pair not in s for pair in bad):
count += 1
# Выводим количество — это ответ
print(count)
📌 Результат: количество подходящих чисел — 3352