Решение
🔹 Шаг 1. Цифры семнадцатеричной системы
from itertools import product
digits = "0123456789ABCDEFG"
📌 Результат: цифры 0–9 и A–G — алфавит системы с основанием 17
🔹 Шаг 2. Цифры со значением не более 7
from itertools import product
digits = "0123456789ABCDEFG"
low = set("01234567")
📌 Результат: в множество low входят цифры с числовым значением не больше 7
🔹 Шаг 3. Счётчик подходящих чисел
from itertools import product
digits = "0123456789ABCDEFG"
low = set("01234567")
count = 0
📌 Результат: в count будем копить количество подходящих чисел
🔹 Шаг 4. Фильтр по условию
from itertools import product
digits = "0123456789ABCDEFG"
low = set("01234567")
count = 0
for p in product(digits, repeat=5):
if p[0] != "0" and p.count("5") == 1 and sum(1 for ch in p if ch in low) <= 2:
count += 1
📌 Результат: нет ведущего нуля, ровно одна цифра 5, не более двух цифр из low
🔹 Шаг 5. Ответ
Цель: посчитать подходящие пятизначные числа.
# Подключаем product и цифры семнадцатеричной системы
from itertools import product
digits = "0123456789ABCDEFG"
# цифры со значением не более 7
low = set("01234567")
# переменная для подсчёта подходящих чисел
count = 0
# Перебираем пятизначные числа и проверяем условие
for p in product(digits, repeat=5):
if p[0] != "0" and p.count("5") == 1 and sum(1 for ch in p if ch in low) <= 2:
count += 1
# Выводим количество — это ответ
print(count)
📌 Результат: количество подходящих чисел — 131949