Решение
🔹 Шаг 1. Цифры двенадцатеричной системы
from itertools import permutations
digits = "0123456789AB"
📌 Результат: цифры 0–9 и A–B — алфавит системы с основанием 12
🔹 Шаг 2. Чётные и нечётные цифры
from itertools import permutations
digits = "0123456789AB"
even = set("02468A")
odd = set("13579B")
📌 Результат: чётные — 02468A, нечётные — 13579B
🔹 Шаг 3. Счётчик подходящих чисел
from itertools import permutations
digits = "0123456789AB"
even = set("02468A")
odd = set("13579B")
count = 0
📌 Результат: в count будем копить количество подходящих чисел
🔹 Шаг 4. Фильтр по условию
from itertools import permutations
digits = "0123456789AB"
even = set("02468A")
odd = set("13579B")
count = 0
for a, b, c, d in permutations(digits, 4):
if (
a != "0"
and (a in even) != (b in even)
and (b in even) != (c in even)
and (c in even) != (d in even)
):
count += 1
📌 Результат: разные цифры, нет ведущего нуля, соседние цифры разной чётности
🔹 Шаг 5. Ответ
Цель: посчитать подходящие четырёхзначные числа.
# Подключаем permutations и цифры двенадцатеричной системы
from itertools import permutations
digits = "0123456789AB"
# множества чётных и нечётных цифр
even = set("02468A")
odd = set("13579B")
# переменная для подсчёта подходящих чисел
count = 0
# Перебираем четырёхзначные числа с разными цифрами
for a, b, c, d in permutations(digits, 4):
if (
a != "0"
and (a in even) != (b in even)
and (b in even) != (c in even)
and (c in even) != (d in even)
):
count += 1
# Выводим количество — это ответ
print(count)
📌 Результат: количество подходящих чисел — 1650