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